
数据结构与算法分析
文章平均质量分 81
沫沫_fun
种一颗树最好的时间是十年前,其次是现在
展开
-
第一章 绪论
数据结构概念 有结构的数据元素的集合(相互之间有某种特定关系的数据元素的集合) (包括数据元素的集合,数据元素关系的集合) 数据结构主要研究内容 1. 各类数据结构的逻辑结构,物理结构以及它们之间的关系 2. 为每种数据结构定义了基本运算 3. 能利用数据结构和基本运算编制相应的算法 4. 分析算法效率(主要从时间原创 2012-12-06 10:33:41 · 331 阅读 · 0 评论 -
线性表
线性表及其基本运算 一、 线性表(linear_list) 线性表示n个数据元素的有限序列,记为L=(a1,a2,…,an) (线性表是最常用且最简单的一种数据结构) 形式化定义:linear_list=(D,R) 其中D={ai | ai ∈D0,i=1,2,…,n,n>=0}(属于相同的数据对象,具有相同的特性) R={N},N={| ai-1,ai ∈D0,原创 2012-12-11 11:32:16 · 2106 阅读 · 0 评论 -
第四章 串
一、串的概念 n个字符的有限序列记为:S=‘a1a2……an’(n>=0) S是串名,用单引号括起来的字符序列式串的值 串中字符个数n称为串的长度 长度为0的串称为空串 如:串S=‘This is a string.’‘This’是一个子串,‘string’也是一个子串 求子串在串中的起始位置称为子串定位或模式匹配 二、基本操作 ASSIGN (S,T) 赋值操作:设S原创 2012-12-17 15:56:55 · 439 阅读 · 0 评论 -
栈的表示和实现
一、 栈的概念 栈(stack)是插入和删除操作限定在表尾进行的线性表。 栈的逻辑表示:S=(a1,a2,…,an) 表尾元素an称为栈顶(top) 表头元素a1称为栈底(bottom) 不含元素的表称为空栈 栈的运算特征是后进先出(Last In First Out—LIFO)或者先进后出(FirstIn Last Out—FILO)原创 2012-12-17 13:20:55 · 3085 阅读 · 3 评论 -
第五章 数组和广义表
一、 数组和广义表的定义 数组和广义表可以视为是线性表的扩展,即线性表中的数据元素本身也是一个数据结构。 1. 二维数组定义 a11 a12 … a1n a21 a22 … a2n An*n= …… am1 am2 … amn An*n 可定义为一个线性表: (1)原创 2012-12-19 14:15:35 · 656 阅读 · 0 评论 -
第六章 树和二叉树
一、 树的定义 树是n个数据元素的有限集(记为T),对任意一棵树T有: 1. 存在唯一一个称为根的数据元素; 2. 当n>1时,其他数据元素可分为m(m>0)个互不相交的有限集T1,T2,…Tm,其中每个集合Ti(i=1,2,…,m)本身又是一棵树,并称树Ti是根的子树。 树的表示法 1. 分支图表示法 2. 嵌套集合原创 2013-02-03 10:02:05 · 517 阅读 · 0 评论 -
第七章 图
一、图的定义和术语 1、有向图(Directed graph) ::=vi→vj≠ G=(V,{A}) V为顶点的有穷非空集合 {A}为顶点之间的关系集合 2、无向图(Undirected graph) (vi,vj)=(vj,vi):=the same edge G=(V,{E}) V为顶点的有穷非空集合 {E}为顶点之间的关系集合,即边集合 设n为顶点原创 2013-02-04 13:27:42 · 676 阅读 · 0 评论 -
第九章 查找
一、静态查找表 查找表(table):同类型的DE(或记录)构成的集合 查找表上的基本运算: 建立查找表create(ST,n) 查找search(ST,k) 遍历查找表traverse(ST) 查找:在查找表中确定与给定值相等的DE的过程。 查找结果: 查找成功(table中存在给定的记录) 查找不成功(table中不存在给定值的记录) 查找表分为: 静态查找表原创 2013-02-04 16:27:56 · 745 阅读 · 0 评论