数据结构
文章平均质量分 69
leonhoou
我的愿望是世界和平
展开
-
数据结构---线性表
线性表: 零个或多个数据元素的有限序列(注意:有限)元素之间是有顺序的,第一个元素无前驱,最后一个元素没有后继,其他元素都由一个直接前驱和直接后继。顺序存储结构: 用一段地址连续的存储单元依次存储线性表的数据元素。#define MAXSIZE 20 // 数组的长度(固定不变)typedef int ElemType // 将ElemType定义为int类型的typedef str原创 2016-12-11 11:34:12 · 242 阅读 · 0 评论 -
数据结构---栈
栈:限定仅在表尾进行插入和删除操作的线性表 后进先出(Last In First Out) 注意:栈也是线性表,只不过限定只能在栈顶进行插入和删除栈的顺序存储结构:类似数组,以下标为0的一端作为栈底 对栈的操作就可以看作是对数组的操作即可typedef int SElemType; // 根据实际情况而定typedef struct{ SElemType data[MAXSIZE原创 2016-12-11 16:20:22 · 271 阅读 · 0 评论 -
数据结构---栈的应用
递归:举例:斐波那契数列 数字1,1,2,3,5,8,13,21,34。。。 特点:前面相邻两项之和,构成了后一项 n=0时,F(n)=0 n=1时,F(n)=1 n>1时,F(n)=F(n-1)+F(n-2) 递归函数: 首次调用的函数压栈,直至压完所有函数,最后进行函数弹栈处理int Fbi(int i){ if(I 2) { retur原创 2016-12-13 16:07:22 · 492 阅读 · 0 评论 -
数据结构---队列
队列: 只允许在一端进行插入操作,而在另一端进行删除操作的线性表。 先进先出的线性表(Firset In First Out),允许插入的一端称为队尾,允许删除的一端称为队头。(类似于排队) 引入两个指针,front指向对头元素,rear指向队尾元素的下一个位置这样队列的缺点: 如果rear指向队列最大处的下一个位置,但是front没有指向队列开始位置,这个时候无法添加元素,前面的空间就浪费原创 2016-12-13 20:17:31 · 345 阅读 · 0 评论 -
数据结构入门
数据结构:数据: 是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。 前提:(助于理解) 1. 可以输入到计算机中 2. 能被计算机程序处理 举例:整型数据,声音,图像等 数据对象: 性质相同的数据元素的集合,是数据的子集 这里解释一下性质相同: 具有相同数量和类型的数据项 比如:人都有姓名,生日等相同的数据项 数据元素: 是组成原创 2016-12-06 15:31:06 · 300 阅读 · 0 评论 -
数据结构---树
树: n(n>=0)个结点的有限集。n=0时称为空树。在任意一棵非空树中: (1) 有且仅有一个特定的称为根(Root)的结点(根节点是唯一的) (2) 当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1, T2, …, Tm,其中每一个集合本身又是一棵树,并且称为根的子树(SubTree)结点分类: 树的结点包含一个数据元素及若干指向其子树的分支。 结点的度:结点拥有的子树数。原创 2016-12-20 17:20:08 · 257 阅读 · 0 评论 -
数据结构---串
串: 由零个或多个字符构成的有限序列,又叫字符串 一般记为:s=”a1a2a3……an”子串和主串: 串中任意个数的连续字符组成的子序列称为该串的子串 子串在主串中的位置就是子串的第一个字符在主串中的序号串的比较: 给定两个串:s=”a1a2a3……an”,t=”b1b2b3……bm”,当满足以下条件之一时,s串的存储结构:顺序存储结构: 用一组地址连续的存储单元来存储串中的字符序列。原创 2016-12-20 16:18:12 · 487 阅读 · 0 评论