C语言基础(十二)- 数据结构概览

KinglyJn      2013-02-26
相关术语:
	数据—----类
	数据对象--集合
	数据元素--类对象
	数据项-———属性

什么是数据结构?
	概念:相互之间存在一种或多种特定关系的数据元素(类对象)的集合。
	数据结构包括: 
		数据的逻辑结构(数学形式)
			集合结构
			线性结构(1:1)
			树形结构(1:n)
			图形结构(n:n)
	
		数据的物理结构(存储形式)
			顺序存储形式(ep. 数组)
			链式存储结构(ep. 链表)
			—-数据的存储需要借助于[数据类型]来实现,数据类型分为两大类:
				原子数据类型:整型、实型、字符型...
				结构数据类型:整形数组、结构体、[类]、…
				
什么是算法?
	算法这个词最早出现在《印度数学算数》(公元825年,波斯数学家阿勒·花剌子密);
	如今普遍认可的对算法的定义是:算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。

	算法的五个基本特性:
	* 输入
	* 输出
	* 有穷性
	* 确定性
	* 可行性
	
	什么算是好的算法?
	* 正确(合法的输入具有正确的输出)
	* 健壮(非法的输入具有合理的提示)
	* 高效(时间复杂度 和 空间复杂度较低)
	* 可读(注释)
	
线性表:
	顺序存储线性表:
	链式存储线性表:
		单向链表
		双向链表
		循环链表

栈:
	顺序栈
	链式栈

	
	站的应用-递归:
	概念:我们把一个直接调用自己或通过一系列的调用自己的函数称作递归函数。
	     递归必须要有终止条件,不然就会一直递归调用下去直至栈溢出。

队列:
	顺序队列
	循环队列


树:
	普通树
	 二叉树
	  完全树
	   完全二叉树

图:


Tags:


Share: