随笔分类 - 数据结构与算法
摘要:链表(通过“指针”将一组零散的内存块串联起来使用。) 三种常见链表结构: 如图所示,你会发现,其中有两个结点比较特殊,他们分别是第一个结点和最后一个结点。我们习惯把第一个结点叫做头结点,把最后一个结点叫做尾结点。其中,头结点用来记录链表的基地址。有了它,我们可以遍历得到整条链表。而尾结点特殊的地方是
阅读全文
摘要:数组概念: 数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。 线性表:顾名思义,线性表是数据排成像一条线一样的结构。每个线性表上的数据最多只有前和后两个方向。其实除了数组,链表,队列,栈等也是线性表结构。而与它对立的概念是非线性表,比如二叉树,堆,图等。
阅读全文
摘要:排列组合问题 排列和组合问题,其实是两种问题,区分它们的原则是是否需要考虑顺序的不同。排列问题,考虑顺序;组合问题,不考虑顺序。 1.排列可重复 那么,何为“可重复”呢?暂且不考虑排列组合,先解释可重复。举个例子,冰淇淋有3种口味可以选择,我可以选择3种相同口味,也可以选择不同口味,每次选择即可相同
阅读全文
摘要:大O复杂度表示法 这里有段非常简单的代码,求1,2,3...n的累加和。现在来估算一下这段代码的执行时间。 从CPU的角度来看,这段代码的每行都执行着类似的操作:读数据—运算—写数据。尽管每行代码对应的CPU执行的个数,执行的时间都不一样,但是,我们这里只是粗略估计,所有可以假设每行代码执行的时间都
阅读全文
浙公网安备 33010602011771号