![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
MeteoriteMan
iOS开发者
展开
-
时间复杂度的简单分析
大O复杂度表示法 直接上代码分析 void func0() { int a = 0; } 这个函数,在第二行定义了一个a.这个花费的是常量时间.(假设每行代码执行时间都是一个固定的常量时间). 那么这个func0函数执行总时间T(n) = 1,用大O表示法表示就是O(1). void func1(int n) { int a = 0; for (int i = 0; ...原创 2019-09-13 16:15:50 · 374 阅读 · 0 评论 -
时间复杂度分析(最好、最坏、均摊)
// array: 数组. n: array长度. x: 需要查找的值 int searchPosition(int[] array, int n, int x) { int pos = -1; for (i = 0; i < n; ++i) { if (array[i] == x) { pos = i; } } return pos; } 最好、最坏情况时间复杂度 ...原创 2019-09-14 12:27:02 · 4031 阅读 · 0 评论 -
线性表(上)
线性表 听名字也知道线性表是可以理解为一个一维的东西.类似于一条线.所有数据都是链接在这一条线上. 这条线可以分为两种:1.顺序存储.类似数组,其中的元素在物理空间上是紧紧相依的.2.链式存储.线性表间数据是通过指针相连的,在物理上不是紧紧相依的. 这就带来了线性表的两种特性. 顺序访问: 对于链表来说,因为在内存中不是顺序存放的,为了访问某个元素,必须从链头开始顺着指针查找. 随机访问:...原创 2019-09-15 04:06:10 · 157 阅读 · 0 评论 -
线性表(下)
之前,我们提到了顺序存储的线性表.并且举了一个数组的例子.这次我们来说一下线性表的另外一种存储结构->链式存储(链表). 链表中的元素通过指针相连. typedef struct Node { XXXType data;// 数据 struct Node *next;// 下一个节点 }Node *LinkList; 我们可以通过头节点来获取整个链表.并且特殊的是最后一个节点指向一...原创 2019-09-19 12:57:42 · 192 阅读 · 0 评论