
数据结构
命z
2018.1.23
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构第一章:数据结构绪论
数据结构的起源1、数据结构是一门研究 非数值计算 的 程序设计问题 中的操作对象,以及它们之间的 关系 和 操作 等相关问题的学科。2、程序设计=数据结构+算法 基本概念及术语1、数据: 是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集...原创 2018-01-26 17:57:38 · 386 阅读 · 0 评论 -
贪心算法
一个谈心算法总是做出当前最好的选择,也就是说,它期望通过局部最优选择从而得到全局最优的解决方案。 ...原创 2019-01-20 16:21:47 · 199 阅读 · 0 评论 -
第八章:查找
1、查找表:由同一类型的数据元素(或记录)构成的集合。关键字:数据元素中某个数据项的值。主关键字:能够唯一的标识一个记录。次关键字:可以识别多个数据元素。2、查找:根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或记录)。 静态查找表:只作查找操作的查找表。 动态查找表:查找的同时可添加可删除。3、顺序表查找:顺序查找也叫线性查找,...原创 2018-12-18 13:36:12 · 172 阅读 · 0 评论 -
第七章:图(2)
1、十字链表,将邻接表与逆邻接表结合起来。 顶点表结点结构: Data Firstin Firstout 数据 入边表头指针 出边表头指针 边表结点结构: Tailvex Headvex Hea...原创 2018-12-18 13:31:34 · 411 阅读 · 0 评论 -
数据结构第七章:图(1)
1、图是由顶点的有穷非空集合和顶点之间边的集合组成。G(v,E),其中G表示一个图,V是图G中顶点的集合,E是图G中边的集合。 2、在图中我们将数据元素称之为顶点。在图中不允许没有顶点,若V是顶点的集合,则V是有穷非空。在图中,任意两个顶点之间都可能有关系,逻辑关系用边来表示(边集可以为空)。 3、图按照有无方向分为无向图和有向图。 无向图:由顶点和边组成(A,D)或(D,...原创 2018-08-19 09:50:48 · 578 阅读 · 0 评论 -
数据结构第六章:树(2)
1、二叉树:n个结点的有限集合,空集(空二叉树),由一个根结点和两棵互不相交的,分别称为根结点的左子树和右子树的二叉树组成。2、二叉树特点: (1)每个结点最多有两棵子树。 (2)左子树和右子树是有顺序的。 (3)即使树中某结点只有一棵子树,也要区分左右。3、特殊二叉树:斜树,满二叉树,完全二叉树。4、完全二叉树特点: (1)叶子结点只能出现在最下两层。...原创 2018-08-17 13:34:23 · 252 阅读 · 0 评论 -
数据结构第六章:树(1)
重点简介:1、树:n个结点的有限集合。N=0时称为空树。2、任意一颗非空树中,有且仅有一个特定的称为根的结点。3、结点拥有的子树数称为结点的度。4、度为零的结点称为叶节点或终端结点。度不为零的结点称为非终端结点或分支结点。5、同一个双亲的孩子称为兄弟。6、结点的层次从根开始定义起,根为第一层。7、双亲在同一层的结点互为堂兄弟。8、树中结点最大层次称为树的深度或高度。...原创 2018-08-15 11:56:23 · 187 阅读 · 0 评论 -
第五章:串
重点简要:1、串(又叫字符串)中的字符数目n称为串的长度,零个字符的串称为空串。2、串的比较: s=“hap “,t=” happy “,s<t。 s=”happen”,t=”happy”,s<t。3、串的顺序存储结构,以\0作为串值的终结。4、朴素的模式匹配算法:子串的定位操作通常称做串的模式匹配。5、主串S和子串T的长度存在S[0]和...原创 2018-05-06 11:18:30 · 189 阅读 · 0 评论 -
第四章:栈与队列
重点简要:1、栈是限定仅在表尾进行插入和删除操作的线性表。2、允许操作的一端为栈顶,另一端为栈底,不含数据为空栈。3、栈又称后进先出的线性表,简称LIFO结构。4、插入操作叫进栈(push),删除操作叫出栈(pop)。5、用top作为栈顶的指针。6、push操作: S->top++; S->data[S->top]=e(新元素)。7、pop操作: *e=s->d...原创 2018-05-04 09:11:06 · 134 阅读 · 0 评论 -
数据结构第三章:线性表(3)
重点简要:1、头插法(新结点在第一的位置)、尾插法(新结点在终端结点的后面)。2、线性表的整表删除:要用到p、q转移数据。3、单链表结构与顺序存储结构各有其优缺点,要根据实际情况来确定。4、静态链表(数组)(1)第一和最后的元素不存数据,未被使用的数组元素称为备用链表。(2)数组第一个元素的cur存放备用链表的第一个结点的下标。(3)数组的最后一个元素的cur存放第一个...原创 2018-05-02 22:05:17 · 190 阅读 · 0 评论 -
数据结构第三章:线性表(2)
线性表的链式存储结构 链式存储结构分为:单链表,静态链表,循环链表,双向链表。 单链表:对数据元素ai来说,除了存储其本身的信息之外,还需存储一个指示其直接后继的信息(即直接后继的存储位置)。我们把存储数据元素信息的域称为数据域,把存储直接后继位置的域称为指针域。...原创 2018-02-10 15:50:26 · 201 阅读 · 0 评论 -
数据结构第三章:线性表(1)
线性表的定义 1、 定义:零个或多个数据元素的有限序列。(元素要是相同的数据类型) 2、 用数学语言:若将线性表记为(A1,A2,.....Ai-1,Ai,Ai+1......An),则表中Ai-1领先于Ai,Ai领先于Ai+1,称Ai-1是Ai...原创 2018-01-30 13:26:25 · 714 阅读 · 0 评论 -
数据结构第二章:算法(下)
1、常数阶: (1)首先要知道,高斯算法的时间复杂度不是O(3),而是O(1)。根据我们推导大O阶的方法,第一步就是把常数项3改为1。而且没有最高阶项。所以这个算法的时间复杂度为O(1)。 如: int sum=0,n=100; ...原创 2018-01-28 16:02:33 · 247 阅读 · 0 评论 -
数据结构第二章:算法(上)
算法 1、算法的定义 定义:算法是解决待定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。 算法的定义中提到了指令,指令能被人或机器等计算装置执行。它可以是计算...原创 2018-01-27 20:15:47 · 260 阅读 · 0 评论 -
将 字符串 反转的 6种Java 方法
方法一:递归法(分治思想)public static String reverse1(String s) { int length = s.length(); if (length <= 1){ return s; } String left = s.substring(0, length / 2); String right = s.substrin...翻译 2019-05-05 18:56:33 · 463 阅读 · 1 评论