随笔分类 -  数据结构课程

摘要:第一章、绪论 1 .时间复杂度 一个语句的频度是指该语句在算法中被重复执行的次数。算法中所有语句的频度之和记为T(n), 它是该算法问题规模n 的函数,时间复杂度主要分析T(n) 的数量级。算法中基本运算(最深层循环内的语句)的频度与T(n) 同数量级,因此通常采用算法中基本运算的频度f(n)来分 阅读全文
posted @ 2021-03-02 20:49 王陸 阅读(718) 评论(0) 推荐(0)
摘要:第一章 绪论 1、数据结构是一门研究什么的学科? 数据结构是一门研究非数值计算的程序设计问题中,计算机操作对象及对象间的关系和施加于对象的操作等的学科。 2、数据存储结构有哪几种类型? 存储结构可分为顺序存储、链式存储、索引存储和散列存储。 3、数据逻辑结构包括哪几种类型? 逻辑结构包括线性结构和非 阅读全文
posted @ 2020-12-04 00:21 王陸 阅读(6422) 评论(2) 推荐(2)
摘要:这里先回顾一下几个概念: AOE网 AOE网是活动在边上的网(Activity On Edge network,AOE)的英文简称。AOE网是用有向图来表示的,在有向图中,边表示活动,边具有权值,边的权值代表了活动的持续时间。顶点表示事件,事件是图中新活动开始或者旧活动结束的标识。与AOV网相同的是 阅读全文
posted @ 2020-06-20 10:18 王陸 阅读(3829) 评论(1) 推荐(3)
摘要:一、手工方式 如果只是用于解题的话,这种方法是最快最准确的。但是它不适用于计算机。下面以a+b*c+(d*e+f)*g为例子讲以下人应该怎么把中缀表达式转换成后缀表达式。 按先加减后乘除的原则给表达式加括号 结果:((a+(b*c))+(((d*e)+f)*g)) 由内到外把每个括号里的表达式换成后 阅读全文
posted @ 2020-05-10 20:02 王陸 阅读(19045) 评论(1) 推荐(12)
摘要:1 课题描述 设计一个校园导游程序,为来访的客人提供各种信息查询服务。查询服务有:提供任意景点的信息,提供任意两点之间的最短路径,提供任意景点之间的所有路径,提供多个景点之间的最佳访问路径。 2 问题分析和任务定义 任务要求: 1、 设计你的学校的校园平面图,所含景点10-15个。以图中顶点表示校园 阅读全文
posted @ 2019-01-11 20:38 王陸 阅读(11306) 评论(2) 推荐(9)
摘要:1 课题描述 针对某个集体中人名设计一个哈希表,使得平均查找长度不超过2,并完成相应的建表和查表程序。 2 问题分析和任务定义 1)假设人名为中国人姓名的汉语拼音形式。待填入哈希表的人名共有30个,取平均查找长度的上限为2。 2)哈希函数用除留余数法构造,用线性探测再散列法或链地址法处理冲突。 3) 阅读全文
posted @ 2019-01-11 20:08 王陸 阅读(5550) 评论(7) 推荐(2)
摘要:1 课题描述 每个员工的信息包括:编号、姓名、性别、出生年月、学历、职务、电话、住址等。系统能够完成员工信息的查询、更新、插入、删除、排序等功能。 2 问题分析和任务定义 要求: 每个员工的信息包括:编号、姓名、性别、出生年月、学历、职务、电话、住址等。 (1) 排序:按不同关键字,对所有员工的信息 阅读全文
posted @ 2019-01-11 19:40 王陸 阅读(5819) 评论(0) 推荐(1)
摘要:1 课题描述 给出n个学生的m门考试的成绩表,每个学生的信息由学号、姓名以及各科成绩组成。对学生的考试成绩进行有关统计,并打印统计表。 2 问题分析和任务定义 (1) 按总分数高低次序,打印出名次表,分数相同的为同一名次; (2) 按名次打印出每个学生的学号、姓名、总分以及各科成绩。 (3) 注意测 阅读全文
posted @ 2019-01-11 19:35 王陸 阅读(4135) 评论(1) 推荐(0)
摘要:一元多项式的链式结构: 基本思想: (1)若pa->expn小于pb->expn,则pa继续向前扫描; (2)若pa->expn等于pb->expn,将其系数相加,若相加结果不为0,将结果放入pa->coef中,并删除pb所指的结点,否则同时删除pa和pb所指的结点,然后pa和pb继续向前扫描; ( 阅读全文
posted @ 2018-12-17 16:27 王陸 阅读(5395) 评论(3) 推荐(4)
摘要:1.已知线性表(a0,a1,a2,….an)按顺序存储,且每个元素都是均不相等的整数,设计把所有的比a0大的数移到其右边,把所有比a0小的数移到其左边的算法。要求:时间最少,辅助空间最少。 解题思路:其实这就是一趟快速排序,a0到位,比它小的交换到低端,比它大的交换到高端。 2.已知线性表LA和 L 阅读全文
posted @ 2018-12-17 15:07 王陸 阅读(1136) 评论(0) 推荐(0)
摘要:#include #include #define MAX 50 int slist[MAX]; /*待排序序列*/ void XierSort(int list[], int n); void insertSort(int list[], int n); void createList(int list[], int *n); void printList(int list[],... 阅读全文
posted @ 2018-12-11 20:53 王陸 阅读(720) 评论(0) 推荐(0)
摘要:#include #include #define MAXSIZE 25 #define P 13 #define OK 1 #define ERROR 0 #define DUPLICATE -1 #define TRUE 1 #define FALSE 0 typedef struct /*哈希表元素结构*/ { int key; /*关键字值*/ int ... 阅读全文
posted @ 2018-12-11 20:50 王陸 阅读(2622) 评论(0) 推荐(0)
摘要:摘自大佬博客http://www.cnblogs.com/zhuyf87/archive/2012/11/04/2753950.html 树转换二叉树 (1)加线。在所有兄弟结点之间加一条连线。 (2)去线。树中的每个结点,只保留它与第一个孩子结点的连线,删除它与其它孩子结点之间的连线。 (3)层次 阅读全文
posted @ 2018-12-04 20:32 王陸 阅读(18436) 评论(2) 推荐(12)
摘要:1.以二叉链表为存储结构,编写算法交换每个结点的左右子树。 void Swap(BinTree bt) { BinTree t; if(bt->lchild!=NULL&&bt->rchild!=NULL) { Swap(bt->lchild); Swap(bt->rchild); t=bt->lc 阅读全文
posted @ 2018-12-04 17:11 王陸 阅读(566) 评论(0) 推荐(0)
摘要:(1)、目的:对于在实际问题中出现的大型的稀疏矩阵,若用常规分配方法在计算机中储存,将会产生大量的内存浪费,而且在访问和操作的时候也会造成大量时间上的浪费,为了解决这一问题,从而善生了多种解决方案。 (2)、由于其自身的稀疏特性,通过压缩可以大大节省稀疏矩阵的内存代价。具体操作是:将非零元素所在的行 阅读全文
posted @ 2018-11-30 11:01 王陸 阅读(28906) 评论(2) 推荐(8)
摘要:数据结构课上讲的最小生成树思路还要代码和我之前写过的ACM版的是一样的,这里都是两种算法普里姆(Prim)算法和克鲁兹卡尔(Kruskal)算法。 https://www.cnblogs.com/wkfvawl/p/9140591.html 普利姆算法 struct { int adjvex; // 阅读全文
posted @ 2018-11-24 15:08 王陸 阅读(1846) 评论(0) 推荐(0)
摘要:#include #define N 20 #define TRUE 1 #define FALSE 0 int visited[N]; typedef struct /*队列的定义*/ { int data[N]; int front;//队头指针 int rear;//队尾指针 } queue; typedef struct /*图的邻接矩阵*/ { ... 阅读全文
posted @ 2018-11-20 19:31 王陸 阅读(3080) 评论(0) 推荐(1)
摘要:有向图的十字链表 对于有向图来说,邻接表是有缺陷的,关心了出度问题,想了解入度就必须要遍历整个图才能知道,反之,逆邻接表解决了入度的情况。 把邻接表与逆邻接表结合起来,即有向图的一种存储方法十字链表(Orthogonal List)。 我们重新定义顶点表结构 firstin表示入边表头指针,指向该顶 阅读全文
posted @ 2018-11-19 19:43 王陸 阅读(13869) 评论(2) 推荐(4)
摘要:这里给出一份数据结构上机实验课的顺序栈代码以及说明。 1 #include<stdio.h> 2 #include<malloc.h> 3 #define ERROR 0 4 #define OK 1 5 #define STACK_INT_SIZE 10 /*存储空间初始分配量*/ 6 #defi 阅读全文
posted @ 2018-11-10 20:24 王陸 阅读(835) 评论(0) 推荐(1)
摘要:n个数据元素构成一个环,从环中任意位置开始计数,计到m将该元素从表中取出,重复上述过程,直至表中只剩下一个元素。 解题思路:用一个无头结点的循环单链表来实现n个元素的存储。循环单链表:尾指针指向头结点。这样指针可以循环移动。 可以使用两个指针来操作,将指针q指向需要操作的结点上,指针p指向需要操作结 阅读全文
posted @ 2018-11-04 21:40 王陸 阅读(7273) 评论(0) 推荐(1)