数据结构
sam5828
一步一步的修炼
展开
-
环形缓冲区笔记
环形缓冲区其实就是数组 buf[len] 1.空的时候w = r 2.写:buf[w]=val w=(w+1)%len; 3.读val=buf[r]; r=(r+1)%len; 4.满 (w+1)%len=r原创 2016-08-16 15:48:05 · 365 阅读 · 0 评论 -
浅谈算法和数据结构(11):哈希表
原文出处: 寒江独钓 在前面的系列文章中,依次介绍了基于无序列表的顺序查找,基于有序数组的二分查找,平衡查找树,以及红黑树,下图是它们在平均以及最差情况下的时间复杂度: 可以看到在时间复杂度上,红黑树在平均情况下插入,查找以及删除上都达到了lgN的时间复杂度。 那么有没有查找效率更高的数据结构呢,答案就是本文接下来要介绍了散列表,也叫哈希表(Hash Table)转载 2016-10-21 16:47:20 · 1455 阅读 · 0 评论 -
线性结构和非线性结构
线性结构是一个有序数据元素的集合。 1.集合中必存在唯一的一个"第一个元素"; 2.集合中必存在唯一的一个"最后的元素"; 3.除最后元素之外,其它数据元素均有唯一的"后继"; 4.除第一元素之外,其它数据元素均有唯一的"前驱"。 数据结构中线性结构指的是数据元素之间存在着“一对一”的线性关系的数据结构。 如(a0,a1,a2,.....,an),a0为第一原创 2016-11-11 16:11:51 · 827 阅读 · 0 评论 -
如何抽象数据类型
涉及到三个方面: 数据对象 数据关系 基本操作接口 ==================================================== 填充数据对象 阐述数据对象之间的关系 提供对象操作的接口,比如插入,删除之类的原创 2016-11-11 16:32:24 · 313 阅读 · 0 评论