10 2017 档案

摘要: 阅读全文
posted @ 2017-10-15 08:36 2016java 阅读(171) 评论(0) 推荐(0) 编辑
摘要:最优二叉树 1.树的路径长度 树的路径长度是从树根到树中每一结点的路径长度之和。在结点数目相同的二叉树中,完全二叉树的路径长度最短。 2.树的带权路径长度(Weighted Path Length of Tree,简记为WPL) 结点的权:在一些应用中,赋予树中结点的一个有某种意义的实数。 结点的带 阅读全文
posted @ 2017-10-15 08:26 2016java 阅读(953) 评论(0) 推荐(0) 编辑
摘要:线索二叉树 1.定义 n个结点的二叉链表中含有n+1个空指针域。利用二叉链表中的空指针域,存放指向结点在某种遍历次序下的前趋和后继结点的指针(这种附加的指针称为"线索")。 这种加上了线索的二叉链表称为线索链表,相应的二叉树称为线索二叉树(Threaded BinaryTree)。根据线索性质的不同 阅读全文
posted @ 2017-10-15 08:15 2016java 阅读(339) 评论(0) 推荐(0) 编辑
摘要:许多实际问题抽象出来的数据结构往往是二叉树的形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。 二叉树的定义 1.二叉树的递归定义 二叉树(BinaryTree)是n(n≥0)个结点的有限集,它或者是空集(n=0),或者由一个根结点及两棵互不 阅读全文
posted @ 2017-10-13 17:16 2016java 阅读(405) 评论(0) 推荐(0) 编辑
摘要:栈与队列 简介 堆栈和队列都属于线性结构,是两种在运算上受到某些限制的特殊线性表,他们比一般线性表更简单,被广泛应用于类型的程序设计中,可以用来存放许多中间信息,在系统软件设计以及递归问题处理方面都离不开堆栈和队列。 栈 栈的操作原则是:先进后出,后进先出 二、栈的特点 根据栈的定义可知,最先放入栈 阅读全文
posted @ 2017-10-13 17:13 2016java 阅读(988) 评论(0) 推荐(0) 编辑
摘要:线性表 线性表的基本概念 1.线性表的定义: 线性表(linear list)是具有相同类型的n(n>=0)个数据元素a0,a1,...an-1 组成的有限序列。 其中n为线性表的长度,当n=0,时成为空线性表,n>0,成为非空表 在数学上,表现为:数据之间具有线性关系,一对一,一对多等 2. 线性 阅读全文
posted @ 2017-10-13 17:12 2016java 阅读(290) 评论(0) 推荐(0) 编辑
摘要:字符串模式匹配指的是,找出特定的模式串在一个较长的字符串中出现的位置。 朴素的模式匹配算法 很直观的可以写出下面的代码,来找出模式串在一个长字符串中出现的位置。 /* 朴素的模式匹配算法 功能:字符串的模式匹配 参数: s:目标串 p:模式串 pos:开发匹配的位置 返回值: 匹配成功,返回模式串在 阅读全文
posted @ 2017-10-10 23:06 2016java 阅读(314) 评论(0) 推荐(0) 编辑
摘要:七、查找 概述 查找表:由同一类型的数据元素(或记录)构成的集合。 静态查找表 静态查找是指在静态查找表上进行的查找操作,在查找表中满足条件的数据元素的存储位置或各种属性。静态查找表的查找算法主要有: 顺序查找:从表的一端开始,顺序扫描线性表,依次将扫描到的关键字和给定值k进行比较,若当前扫描到的关 阅读全文
posted @ 2017-10-08 11:14 2016java 阅读(892) 评论(0) 推荐(0) 编辑
摘要:六、图 图的概念 图是一种较线性表和树更为复杂的数据结构,在图形结构中,结点之间关系可以是任意的,图中任意两个数据元素之间都可能相关。 有向图和无向图 若无向图中的每两个顶点之间都存在着一条边,则称该无向图称作完全无向图;显然完全无向图中包含着e=n(n-1)/2条边。若有无向图中的每两个顶点之间都 阅读全文
posted @ 2017-10-08 11:12 2016java 阅读(451) 评论(0) 推荐(0) 编辑
摘要:五、树 树的定义 树的逻辑表示:树形表示法、文氏图表示法、凹入表示法、括号表示法。 结点:表示树中的元素,包括数据项及若干指向其子树的分支。 结点的度:结点拥有的子树树;树的度:一棵树中最大的结点度数 叶子结点:度为0的结点;分支结点:度不为0的结点;孩子:结点子树的根称为该结点的孩子;双亲:孩子结 阅读全文
posted @ 2017-10-08 11:10 2016java 阅读(1201) 评论(0) 推荐(0) 编辑
摘要:一、数据结构绪论 数据结构的基本概念 数据结构是一门研究非数值计算的程序设计问题中,计算机的操作对象以及它们之间的关系和操作的学科。 数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。 数据结构包含三个方面的含义: 逻辑结构: 物理结构:数据的逻辑结构在计算机中的表示,称此为物 阅读全文
posted @ 2017-10-08 11:09 2016java 阅读(414) 评论(0) 推荐(0) 编辑
摘要:一.原理与方法 循环队列的 插入与 删除 二..程序清单 三.思考 1. 如果循环队列的下标不是从0开始,而是是从1开始,那么头指针加l 的操作应如何修改? 2. 在循环队列中判断队空和队满的条件能否一样,为什么? 3. 用另一种不同与上面算法的方法解决“假上溢”问题。 阅读全文
posted @ 2017-10-07 23:14 2016java 阅读(1124) 评论(0) 推荐(0) 编辑
摘要:一.实验内容: 栈的初始化、进栈与出栈等基本操作 二.程序清单 三.思考 如果两个栈共用一个存储空间,该如何解决? 阅读全文
posted @ 2017-10-07 23:06 2016java 阅读(180) 评论(0) 推荐(0) 编辑
摘要:一,实验内容:链表的创建、插入与删除操作 二.程序清单 三.思考 l.如果需要将新结点 插入 到 第i个数据元素之后,算法将如何改动? 2. 双向链表和循环链表的定义和构造方法。 阅读全文
posted @ 2017-10-07 22:55 2016java 阅读(213) 评论(0) 推荐(0) 编辑
摘要:一.实验内容:顺序表的初始化、插入和删除 二.程序清单 三、思考题 1.如何实现顺序表的逆置 2.每次删除操作时,都会使得大量的数据元素移动,删除多个数据元素时,就需多次移动数据元素。能否一次进行删除多个数据元素的操作,使得数据元素的移动只进行一次。 阅读全文
posted @ 2017-10-07 22:30 2016java 阅读(693) 评论(0) 推荐(1) 编辑
摘要:《数据结构》 实验指导书 (课程编号:408009、420009、436009) 主撰人:朱 素 英 审核人: 湖南人文科技学院计算机科学技术系 2012年6月 目录 前言... 4 实验一:顺序表的基本操作... 1 一、实验目的... 1 二、实验主要设备及使用要求... 1 三、实验原理、方法 阅读全文
posted @ 2017-10-07 22:19 2016java 阅读(358) 评论(0) 推荐(0) 编辑
摘要:#include "stdio.h" #include "stdlib.h" #include "io.h" #include "math.h" #include "time.h" #define OK 1 #define ERROR 0 #define TRUE 1 #define FALSE 0 #define MAXSIZE 20 /* 存储空间初始分配量 */ typedef... 阅读全文
posted @ 2017-10-07 21:56 2016java 阅读(226) 评论(0) 推荐(0) 编辑
摘要:#include "stdio.h" #include "stdlib.h" #include "io.h" #include "math.h" #include "time.h" #define OK 1 #define ERROR 0 #define TRUE 1 #define FALSE 0 #define MAXSIZE 20 /* 存储空间初始分配量 */ typede... 阅读全文
posted @ 2017-10-07 18:15 2016java 阅读(847) 评论(0) 推荐(0) 编辑
摘要:#include "stdio.h" #include "stdlib.h" #include "io.h" #include "math.h" #include "time.h" #define OK 1 #define ERROR 0 #define TRUE 1 #define FALSE 0 #define MAXSIZE 20 /* 存储空间初始分配量 */ type... 阅读全文
posted @ 2017-10-06 21:10 2016java 阅读(203) 评论(0) 推荐(0) 编辑
摘要:#include "stdio.h" #include "stdlib.h" #include "io.h" #include "math.h" #include "time.h" #define OK 1 #define ERROR 0 #define TRUE 1 #define FALSE 0 #define MAXSIZE 20 /* 存储空间初始分配量 */ typedef... 阅读全文
posted @ 2017-10-06 18:09 2016java 阅读(1014) 评论(0) 推荐(0) 编辑
摘要:在计算机领域,堆栈是一个不容忽视的概念,我们编写的C语言程序基本上都要用到。但对于很多的初学着来说,堆栈是一个很模糊的概念。堆栈:一种数据结构、一个在程序运行时用于存放的地方,这可能是很多初学者的认识,因为我曾经就是这么想的和汇编语言中的堆栈一词混为一谈。我身边的一些编程的朋友以及在网上看帖遇到的朋 阅读全文
posted @ 2017-10-06 17:55 2016java 阅读(506) 评论(0) 推荐(0) 编辑
摘要:并行: 同时, at the same time 并发: 先做一下A, 再做一下B, 又去做一下A, 又去做一下B. 交替执行, 每个时间点只做一件事。 阅读全文
posted @ 2017-10-06 17:53 2016java 阅读(115) 评论(0) 推荐(0) 编辑
摘要:结构体和类的唯一区别就是 没有加说明 类函数 是 私有 而结构体函数是公有 阅读全文
posted @ 2017-10-06 17:52 2016java 阅读(235) 评论(0) 推荐(0) 编辑
摘要:1、 int *p[10]; //指针数组,含有10个指针元素 也就是说每一个元素都是指针。 先是解析[]表示它是一个数组,然后*表示指针,int表示为int型指针, 即表示定义一个指针数组,含有10个int类型指针元素。 可以这样初始化: for(int i=0; i<10;i++) { p[0] 阅读全文
posted @ 2017-10-06 17:50 2016java 阅读(7103) 评论(0) 推荐(0) 编辑
摘要:#include "stdio.h" #include "stdlib.h" #include "io.h" #include "math.h" #include "time.h" #define OK 1 #define ERROR 0 #define TRUE 1 #define FALSE 0 #define MAXSIZE 20 /* 存储空间初始分配量 */ ... 阅读全文
posted @ 2017-10-06 17:43 2016java 阅读(218) 评论(0) 推荐(0) 编辑
摘要:双循环链表 阅读全文
posted @ 2017-10-06 17:40 2016java 阅读(116) 评论(0) 推荐(0) 编辑
摘要:氮循环链表 阅读全文
posted @ 2017-10-06 17:39 2016java 阅读(96) 评论(0) 推荐(0) 编辑
摘要:单链表 阅读全文
posted @ 2017-10-06 17:38 2016java 阅读(110) 评论(0) 推荐(0) 编辑
摘要:双向链表 p->next->prior = p = p- >prior- >next 阅读全文
posted @ 2017-10-06 17:36 2016java 阅读(100) 评论(0) 推荐(0) 编辑
摘要:在插入和删除操作时只需要修改游标,不需要移动元素,从而改进了在顺序存储结构中的 插人和删除操作需要移动大量元素的缺点 没有解决连续存储分配带来的表长难以确定的问题 失去了 顺序存储结构随机存取的特性 阅读全文
posted @ 2017-10-06 17:27 2016java 阅读(329) 评论(0) 推荐(0) 编辑
摘要:查找:线性表的顺序结构常数阶 链式 线性阶 插入和删除:线性表的顺序结构线性阶 链式 常数阶 阅读全文
posted @ 2017-10-06 17:21 2016java 阅读(262) 评论(0) 推荐(0) 编辑
摘要:描述顺序存 结构需要3 个属性:• 存储空间的起始位置:数组 • 线性表的最大存储容量的数组长度 • 线性表的当前长度 LOC(ai)= LOC(ai) + (i-l)*c 最终平均移动次数和最中间的那个元素的移动次数相等 (n-1)/2 阅读全文
posted @ 2017-10-06 12:04 2016java 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2017-10-06 11:57 2016java 阅读(120) 评论(0) 推荐(0) 编辑
摘要:一。逻辑结构: 是指数据对象中数据 素之间的相互关系。 其实这也是我 今后最需要关注的问题 逻辑结构分为以 四种1. 集合结构 2.线性结构 3.数形结构 4,图形结构 二。物理结构: 1,顺序存储结,2 2. 链式存储结构 一,时间复杂度T 1. 用常数 取代运行时时中的所有加法常数2.在修改后的 阅读全文
posted @ 2017-10-06 10:50 2016java 阅读(195) 评论(0) 推荐(0) 编辑
摘要:1 首先: //注意在C和C++里不同 在C中定义一个结构体类型要用typedef: 于是在声明变量的时候就可:Stu stu1; typedef struct Student { int a; }Stu; struct Student { int a; } Stu; (如果没有typedef就必须 阅读全文
posted @ 2017-10-06 10:29 2016java 阅读(543) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示