![](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 · 379 阅读 · 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 · 4055 阅读 · 0 评论 -
线性表(上)
线性表听名字也知道线性表是可以理解为一个一维的东西.类似于一条线.所有数据都是链接在这一条线上.这条线可以分为两种:1.顺序存储.类似数组,其中的元素在物理空间上是紧紧相依的.2.链式存储.线性表间数据是通过指针相连的,在物理上不是紧紧相依的.这就带来了线性表的两种特性.顺序访问:对于链表来说,因为在内存中不是顺序存放的,为了访问某个元素,必须从链头开始顺着指针查找.随机访问:...原创 2019-09-15 04:06:10 · 173 阅读 · 0 评论 -
线性表(下)
之前,我们提到了顺序存储的线性表.并且举了一个数组的例子.这次我们来说一下线性表的另外一种存储结构->链式存储(链表).链表中的元素通过指针相连.typedef struct Node { XXXType data;// 数据 struct Node *next;// 下一个节点}Node *LinkList;我们可以通过头节点来获取整个链表.并且特殊的是最后一个节点指向一...原创 2019-09-19 12:57:42 · 199 阅读 · 0 评论