数据结构与算法
xqian诗一
在这个复杂的世界,简单就好^_^
展开
-
(学习笔记 3)线性表
线性表(List):由零个或多个数据元素组成的有限序列。线性表中数据元素个数称为线性表的长度。长度为0的线性表称为空表。线性表关键点: 首先,它是一个序列,即元素之间使有个先来后到的; 若元素存在多个,则第一个元素无前驱,而最后一个元素无后继,其他元素都有且只有一个前驱和后继。 线性表强调是有限的,即元素个数有限。线性表抽象数据类型定义: ●ADT 线性表(List) ●Data原创 2017-09-07 22:33:26 · 661 阅读 · 0 评论 -
(学习笔记 4)单链表
单链表:链表中第一个节点的存储位置,叫做头指针,最后一个节点指针为空(NULL) 。本文介绍了头指针与头结点的异同、单链表的创建、插入、删除等操作。原创 2017-10-14 21:29:46 · 376 阅读 · 0 评论 -
(学习笔记 2)时间复杂度和空间复杂度
算法效率的度量方法: 1. 算法采用的策略、方案 2. 编译产生的代码质量 3. 问题的输入规模 4. 机器执行指令的速度算法时间复杂度定义 在进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数,进而分析T(n)随n的变化情况并确定T(n)的数量级。 算法的时间复杂度,也就是算法的时间度量,记做T(n)=O(f(n))。它表示随问题规模n的增大,算法执行时间的增长率和f原创 2017-08-15 23:13:45 · 264 阅读 · 0 评论 -
(学习笔记 1)基本概念和术语
数据、数据项、数据元素、数据对象、顺序存储、逻辑存储、算法原创 2017-08-14 23:01:26 · 279 阅读 · 0 评论 -
(学习笔记 5)静态链表
静态链表(static linked list):用数组来描述的链表,用数组元素的下标来模拟单链表的指针。这种描述方法叫做游标实现法。 线性表的静态链表存储结构如下...原创 2017-10-21 22:54:39 · 358 阅读 · 0 评论 -
如何快速找到未知长度单链表的中间节点
普通方法:首先遍历一遍单链表,确定单链表长度L,然后再次从头结点出发,循环L/2次找到单链表的中间结点。 优化方法:(利用快慢指针) 设置两个指针p、mid都指向单链表的头结点。其中p的移动速度是mid的2倍,当p指向末尾结点时,mid刚好就在中间了。原创 2017-10-22 22:10:26 · 1854 阅读 · 0 评论