随笔分类 -  03-数据结构

01-(2)数据结构- 一步一步写算法(之循环单向链表)
摘要:前面的博客中,我们曾经有一篇专门讲到单向链表的内容。那么今天讨论的链表和上次讨论的链表有什么不同呢?重点就在这个"循环"上面。有了循环,意味着我们可以从任何一个链表节点开始工作,可以把root定在任何链表节点上面,可以从任意一个链表节点访问数据,这就是循环的优势。 那么在实现过程中,循环单向链表有什么不同? 1)打印链表数据 [cpp] view plain copy vo... 阅读全文

posted @ 2016-04-19 10:26 PKU张学文 阅读(169) 评论(0) 推荐(0)

01-(2)数据结构- 一步一步写算法(之双向链表)
摘要:前面的博客我们介绍了单向链表。那么我们今天介绍的双向链表,顾名思义,就是数据本身具备了左边和右边的双向指针。双向链表相比较单向链表,主要有下面几个特点: (1)在数据结构中具有双向指针 (2)插入数据的时候需要考虑前后的方向的操作 (3)同样,删除数据的是有也需要考虑前后方向的操作 那么,一个非循环的双向链表操作应该是怎么样的呢?我们可以自己尝试一下: (... 阅读全文

posted @ 2016-04-19 10:25 PKU张学文 阅读(167) 评论(0) 推荐(0)

01-(2)数据结构- 一步一步写算法(之单向链表)
摘要:有的时候,处于内存中的数据并不是连续的。那么这时候,我们就需要在数据结构中添加一个属性,这个属性会记录下面一个数据的地址。有了这个地址之后,所有的数据就像一条链子一样串起来了,那么这个地址属性就起到了穿线连结的作用。 相比较普通的线性结构,链表结构的优势是什么呢?我们可以总结一下: (1)单个节点创建非常方便,普通的线性内存通常在创建的时候就需要设定数据的大小 (2)节... 阅读全文

posted @ 2016-04-19 10:24 PKU张学文 阅读(173) 评论(0) 推荐(0)

01-(2)数据结构- 一步一步写算法(之线性堆栈)
摘要:前面我们讲到了队列,今天我们接着讨论另外一种数据结构:堆栈。堆栈几乎是程序设计的命脉,没有堆栈就没有函数调用,当然也就没有软件设计。那么堆栈有什么特殊的属性呢?其实,堆栈的属性主要表现在下面两个方面: (1)堆栈的数据是先入后出 (2)堆栈的长度取决于栈顶的高度 那么,作为连续内存类型的堆栈应该怎么设计呢?大家可以自己先试一下: (1)设计堆栈节点 [cpp]... 阅读全文

posted @ 2016-04-19 10:22 PKU张学文 阅读(199) 评论(0) 推荐(0)

01-(2)数据结构- 一步一步写算法(之线性队列)
摘要:【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 这里的线性结构实际上指的就是连续内存的意思,只不过使用“线性”这个词显得比较专业而已。前面一篇博客介绍了现象结构的处理方法,那么在这个基础之上我们是不是添加一些属性形成一种新的数据结构类型呢?答案是肯定的,队列便是其中的一种。 队列的性质很简单: (1)队列有头部和... 阅读全文

posted @ 2016-04-19 10:20 PKU张学文 阅读(157) 评论(0) 推荐(0)

00-一步步写算法之算法总结(转)
摘要:http://blog.csdn.net/feixiaoxing/article/details/6993718 阅读全文

posted @ 2016-04-19 10:15 PKU张学文 阅读(134) 评论(0) 推荐(0)

导航