数据结构
twilight_shaw
这个作者很懒,什么都没留下…
展开
-
【重学数据结构】数据结构从0开始
18.07.14程序=算法+数据结构,算法=逻辑+控制。数据结构的用途:一是存储需要记录、保存的数据;而是通过数据结构来实现算法,通过记录的数据来判断或者增减。18.07.16数据之间是有联系的,我们要选择适宜的数据结构和高效率的算法。逻辑结构:一对一——线性;一对多——树;多对多——图;松散——集合。D,L(R),S,O 数据元素、数据元素之间的逻辑关系、逻辑关系在计算...原创 2019-05-20 20:25:42 · 207 阅读 · 0 评论 -
重学数据结构之链表
鉴于我个人顺序存储时不使用顺序表,而常常用数组替代(并非好习惯),直接来说链表。链表,即使用链式存储结构的线性表。可以想象用一根链条将不同位置处的信息连接起来,则链表中相邻元素在内存中可能不相邻。链表的连接,则由元素的指针域完成。根据指针域,可分为单向链表、双向链表、循环链表等等等。一、单链表(SList)每个元素(也称之为结点)包含两部分,值与指针,图上默认的是数值型数据,头指针...原创 2019-05-20 21:55:17 · 120 阅读 · 0 评论 -
重学数据结构之栈
栈是限定仅在表尾进行插入和删除操作的线性表,允许插入和删除的一端称为栈顶,另一端则为栈底。仅能对栈顶元素直接进行操作。如图所示,初始状态下栈里有三个元素。这三个元素进入栈的顺序必然是x,y,z,出栈顺序必然是z,y,x(这里我们不考虑其他元素)。可见,先进入的元素x由于最先进入栈内,被其他进入的元素压在栈底,而最后出来,所以我们说栈具有先进后出的特性。关于栈的使用,最常见的是括号匹配,...原创 2019-06-01 12:06:22 · 110 阅读 · 0 评论 -
重学数据结构之顺序表
还是把顺序表从头到尾温习了一遍。顺序表是线性表按照顺序存储结构存储的。我们按顺序将数据存储到存储空间中,所以存储单元的地址是连续的,即元素序号与存放它的数组下标一一对应。序号通常从1开始,而下标从0开始,所以第i个元素的下标则是[i-1]。我们用数组存放数据,数组的初始化必先定义长度,下文中我们用MaxSize来表示线性表总共占用的存储空间,而用length表示实际占用(length之...原创 2019-06-02 21:33:37 · 347 阅读 · 0 评论