线性表(List)定义:由零个或多个数据元素组成的有限序列。关键词①序列:它是一个序列,元素之间是有先后顺序的②若元素存在多个:第一个元素无前驱,而后一个元素无后继,其它元素只有一个前驱和后继③有限的数学语言定义如下若将线性表记为(a1,...,ai-1,ai,ai+1,.....
分类:
编程语言 时间:
2014-12-15 13:51:31
阅读次数:
227
版权所有 未经允许 请勿擅自商用 转载请指明出处
最早看到这个问题是在那本Mark写的数据结构与算法分析的书中引论部分,当时就是瞅瞅,到了最近,在实际应用中,我需要查找一些列的数中第k大的数时,我才重新回顾品味这个问题。现在,实际问题中,我还暂时没有解决问题,但是这段思考过程很有意思,在这里给大家品味下。
具体的问题有点复杂,在这里就不赘述了,暂且将这个问题形式化的描述如下:
给...
分类:
其他好文 时间:
2014-12-11 17:34:12
阅读次数:
198
表、栈和队列是最简单和最基本的三种数据结构。基本上,每一个有意义的程序都将明晰地至少使用一种这样的数据结构,比如栈在程序中总是要间接地用到,不管你在程序中是否做了生命。本章学习重点:理解抽象数据类型(ADT)的概念学习如何对表进行有效的操作熟悉栈ADT及其在实现递归方面的应用熟悉队列ADT及其在操作...
分类:
编程语言 时间:
2014-12-09 01:44:11
阅读次数:
186
转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 二叉树是一种非常重要的数据结构,它同时具有数组和链表各自的特点:它可以像数组一样快速查找,也可以像链表一样快速添加。但是他也有自己的缺点:删除操作复杂。 我们先‘介绍一些关于二叉树的概念名词。 二叉树:是每个结点最多有两个子树的有序树,在使用二叉树的时候,数据并不是随便插入到节点...
分类:
编程语言 时间:
2014-12-08 08:10:57
阅读次数:
234
本人文笔较差,语文从来不及格,基础不好,写此类文章仅供自己学习,理解队列及其他知识,高手大神请略过。参考书籍 《数据结构与算法分析-Java语言描述1.1 单链表简介线性表的最大的缺点就是插入和删除操作需要移动大量的元素,这是它在内存中的连续存储结构造成的。为了弥补这2个缺点,就出现了链表,即线性表...
分类:
其他好文 时间:
2014-12-07 16:17:03
阅读次数:
368
本人文笔较差,语文从来不及格,基础不好,写此类文章仅供自己学习,理解队列及其他知识,高手大神请略过。参考书籍 《数据结构与算法分析-Java语言描述》1.1 线性表简介线性表是0个或多个元素的有限序列。即元素之间有顺序且有限。假设表中有元素A1,A2,A3,....,AN,若存在1 { //不...
分类:
其他好文 时间:
2014-12-06 16:39:14
阅读次数:
218
对于一个初学者来说,作者的Solutions Manual把太多的细节留给了读者,这里尽自己的努力给出部分习题的详解:不当之处,欢迎指正。1、 按增长率排列下列函数:N,√2,N1.5,N2,NlogN, NloglogN,Nlog2N,Nlog(N2),2/N,2N,2N/2,37,N2logN,...
分类:
编程语言 时间:
2014-12-06 15:20:38
阅读次数:
388
数据结构与算法5: 递归(Recursion)
《软件随想录:程序员部落酋长Joel谈软件》一书中《学校只教java的危险性》一章提到,大学计算机系专业课有两个传统的知识点,但许多人从来都没搞懂过,那就是指针和递归。...
分类:
编程语言 时间:
2014-12-02 00:13:24
阅读次数:
268
题目取自:《数据结构与算法分析:C语言描述_原书第二版》——Mark Allen Weiss 练习1.3 如题。补充说明:假设仅有的I/O例程只处理单个数字并将其输出到终端,我们将这个例程命名为PrintDigit;例如"PrintDigit(4)" 将输出一个"4"到终端。思路:根据先...
分类:
其他好文 时间:
2014-12-01 23:56:54
阅读次数:
256