理解“栈” 关于“栈”,有一个非常贴切的例子,就是一摞叠在一起的盘子。我们平时放盘子的时候,都是从下往上一个一个的放;取的时候,我们也是从上往下一个一个的依次取,不能从中间任意抽出。后进者先出,先进者后出,这就是典型的“栈”结构。 从栈的操 …
第 7 页
想写好链表并不是容易的事儿,尤其是那些复杂的链表操作,比如链表反转、有序链表合并等,写的时候非常容易出错。如果能熟练掌握这几个技巧,加上主动和坚持,轻松拿下链表代码完全没有问题。 一:理解指针或引用的含义 事实上,看懂链表的结构并不困难,但 …
链表结构 相比数组,链表是一种稍微复杂一点的数据结构。数组和链表这两个非常基础、非常常用的数据结构,我们常常会放到一块儿来比较。 从底层的存储结构来看。下图中,数组需要一块连续的内存空间来存储,对内存的要求较高。如果我们申请一个 100MB …
在大部分编程语言中,数组都是从0开始编号的,那么为什么数组要从0开始而不是1呢?带着这个问题我们来看下面的内容。 如何实现随机访问? 数组(Array)是一种线性表数据结构。它是用一组连续的内存空间,来存储一组具有相同类型的数据。 线性表, …
上一节中我们掌握了一些常见的复杂度,如O(1)、O(logn)、O(n)、O(nlogn)。下面我们继续四个复杂度分析方面的知识点:最好情况时间复杂度(best case time complexity)、最坏情况时间复杂度(worst c …
复杂度分析的必要性 通过跑代码得到算法执行的时间和占用空间局限性非常大,其测试结果非常依赖测试环境,测试结果也受数据规模的影响很大,所以我们需要一个不用具体的测试数据来测试,就可以粗略的估计算法的执行效率的方法。 大O复杂度表示法(时间复杂 …
什么是数据结构?什么是算法? 广义概念 数据结构就是指一组数据的存储结构。算法就是操作数据的一组方法 狭义概念 指某些著名的数据结构和算法,比如队列、栈、堆、二分查找、动态规划等。这些经典数据结构和算法,都是前人从很多实际操作场景中抽象出来 …
前言 哲学告诉我们世界是一个普遍联系的有机整体,现象之间客观上存在着某种有机联系。一种现象的发展变化,必然受与之相关联的其他现象发展变化的制约与影响,在统计学中这种依存关系可以分成相关关系回归函数关系两大类。 研究意义 相关系数(corre …
摘要 是全面准确的反映了某一文献中心内容的简单连贯的短文 自动摘要 是利用计算机自动的从原始文献中提取摘要 原理 余弦相似度 算法步骤 获取到需要摘要的文章 对该文章进行词频统计 对该文章进行分句:根据中文的标点符号进行分句 计算分句与文章 …