数据结构
小神兵
集団意識とは、集団のために、個人を犠牲にすることである。
展开
-
算法的描述
算法:1)狭义的算法是与数据的存储方式密切相关。2)广义的算法是与数据的存储方式无关。泛型:利用某种技术达到的效果就是:不同的存储方式,执行的操作是一样的。转载 2011-06-22 13:34:00 · 633 阅读 · 0 评论 -
队列 -- 循环队列
实现队列的方法有很多,比如链表,动态数组等,这里主要介绍一下循环队列,首先我们用静态数组做个简单的队列:从上图很显然可以看出,全部出队后,将无法继续入队,这样的情况也叫做“假溢出”,即使数组中,明明还有空间可以利用,但是却无法使用。为了解决这样的问题,就引入了一个叫“循环队列”这原创 2011-07-09 17:34:05 · 4553 阅读 · 0 评论 -
线性表 -- 顺序存储结构
S1线性表的基本概念:1)有而且只有一个“第一元素”。2)有而且只有一个“最后元素”。3)除第一元素之外,其他元素都有唯一的直接前驱。4)除最后元素之外,其他元素都有唯一的直接后继。S2计算公式:若第一个元素的地址是a,每个元素占用的存储空间为d,则数组的第i个元素的地址可以用如下公式计算:Loc(i)=a+(i-1)*dS3顺序表元素的插入1)空表的情况:只能在下标为[1]的地方插入2)元素未满原创 2011-06-22 11:34:00 · 676 阅读 · 0 评论 -
线性表 -- 链式存储结构(单链表)
S1线性表的链式存储结构特点:1)用任意一组地址任意的存储单元存放线性表中的数据元素。 2)节点:数据域(数据元素的信息)+ 指针域(指示直接后继存储位置)= 节点(表示数据元素或数据元素的映像)3)链表:以“节点的序列”表示线性表称作链表。S2头节点以及头指针1)有时为了操作方便,在第一个节点之前虚加以个“头节点”,以指向头节点的指针为链表的头指针。S3线性表的顺序存储结构与链式存储结构优缺点:原创 2011-06-23 20:41:00 · 1697 阅读 · 0 评论 -
栈 -- 顺序存储结构
1.栈是限制在表的一端进行插入和删除运算的线性表。2.通常称插入或删除的这一端成为栈顶,而另一端被称为栈底。3.当表中没有元素的时候称为空栈。4.栈为后进先出的线性表,简称为LIFO(Last In First Out)表。// 定义栈的初始大小#defin原创 2011-07-06 10:39:09 · 520 阅读 · 0 评论 -
栈 -- 链式存储结构
1.栈的顺序存储结构与栈的链式存储结构相比,由于顺序存储结构一次性分配连续空间的问题,如果数据较多的情况下,要分配一大块连续的内存可能会分配失败,所以运用链式存储结构可以解决这个问题,下面就看一下链式存储结构的图:/* 定义节点*/typedef str原创 2011-07-06 15:35:48 · 983 阅读 · 0 评论 -
线性表 - 双链表(非循环)
S1双链表定义1)双(向)链表中有两条方向不同的链,即每个节点中除next域存放后继结点地之外,还增加一个指向其直接前驱的指针域prior。2)哨兵节点时隔哑对象,可以简化边界条件。S2双链表前插与删除节点操作1)双向链表的前插操作。(由于双链表的对称性,在双链表中能完成各种插入原创 2011-07-15 20:53:05 · 792 阅读 · 0 评论