算法之递归(2)- 链表遍历在递归(1)中,简单的介绍了递归的思想,并且通过一个例子简单阐述了递归是如何工作的,并且递归的实现是以线性结构来表示的。之所以用线性的,是因为其易于理解;如果使用树结构,将加大对问题的难度,不利于初学者理解递归的思想。为什么用递归关 于为什么用递归,我个人的理解是递归不要...
分类:
编程语言 时间:
2015-02-05 13:33:02
阅读次数:
151
我们在算法设计当中最常见的线性结构列表无非是一下几种:
1.数组:
数组应该是我最常用的一种。他的存储地址是连续的,就是当我们新开辟一个数组时,我们会给他分配一个连续的地址。由于他的地址是连续的,所以在我们知道他下标的时候,查找元素的速度非常快。
2.链表:
链表中的元素的位置不固定...
分类:
编程语言 时间:
2015-01-22 13:28:22
阅读次数:
221
§1.1 什么是数据结构
数据结构是介于数学 计算机软件和计算机硬件三者之间的一门核心课程。
§1.2 基本概念和术语
数据结构通常有下列4种基本结构
①集合 ②线性结构 ③树形结构 ④图状结构(网状结构)
数据结构是一个二元组:
Data Structure = (D,S)
D表示 数据元素的有限集
S表示 D上关系的有限集
数据的储存结构有顺序储存结构和链式储存结...
分类:
其他好文 时间:
2015-01-16 19:17:40
阅读次数:
179
原文:算法系列15天速成——第十一天 树操作(上) 最近项目赶的紧,歇了一个星期没写博客了,趁周末继续写这个系列。 先前我们讲的都是“线性结构”,他的特征就是“一个节点最多有一个”前驱“和一个”后继“。那么我们今天讲的树会是怎样的呢?
我们可以对”线性结构“改造一下,变为”一个节点最多有一个"前驱“...
分类:
编程语言 时间:
2015-01-16 10:00:40
阅读次数:
269
第二章:线性表1.线性结构的基本特征答:线性结构是若干数据元素构成的有序(次序)集① 集合中必存在唯一的一个“第一元素”;② 集合中必存在唯一的一个 “最后元素”;③ 除第一元素之外,均有 唯一的前驱;④ 除最后元素之外,均有 唯一的后继.2.线性表的顺序存储结构和链式存储结构分别是______。(...
分类:
其他好文 时间:
2015-01-14 00:43:31
阅读次数:
243
1、什么是线性表?线性表(Linear List):由同类型元素构成有序序列的线性结构。表中元素个数称为线性表的长度线性表没有元素时,称为空表表起始位置称表头,表结束位置称为表尾2、线性表的抽象数据类型描述List MakeEmpty():初始化一个空线性表L;ElementType FindKth...
分类:
其他好文 时间:
2015-01-08 20:05:45
阅读次数:
314
感觉散列的查找性能真心不错,如果使用普通线性结构查找,平均时间是n/2.而刚才用实验,256大小的散列,存储128个数据,平均时间为2次以内。感觉真心NB 1 #include 2 #include 3 #include 4 #include 5 #include 6 7 ...
分类:
其他好文 时间:
2015-01-03 23:55:27
阅读次数:
223
树形结构是一类非常重要的非线性结构,它可以很好地描述客观世界中广泛存在的具有分支关系或层次特性的对象,因此在计算机领域里有着广泛应用,如操作系统中的文件管理、编译程序中的语法结构和数据库系统信息组织形式等。
分类:
其他好文 时间:
2015-01-02 18:44:09
阅读次数:
263
2015年学习计划安排:http://www.cnblogs.com/cyrus-ho/p/4182275.html数据结构:计算机内部数据的组织形式和存储方法。(不同的数据结构在实现同一个功能的时候,算法的选用不一定一样)常用的数据结构:一对一 --- 线性结构;一对多 --- 树结构;多对多 -...
分类:
编程语言 时间:
2014-12-30 15:11:42
阅读次数:
157
树状数组树状数组:是一种设计新颖的数组结构,它能够高效地获取数组中连续n个数的和。线性结构只能逐个扫描元素,而树状结构可以实现跳跃式扫描。概括说:树状数组通常用于解决以下问题:数组{a}中的元素可能不断地被修改,怎样才能快速地获取连续几个数的和?一般讲到树状数组都会少不了下面这个图:下面来解析该图,...
分类:
其他好文 时间:
2014-12-27 18:58:44
阅读次数:
131