数据结构
文章平均质量分 87
hernoforgot
初来驾到,
展开
-
栈和队列——分别用顺序表和链表实现——C语言实现
//author hernoforgot//本次简单模拟栈和队列的操作,其中大多数我以无返回值实现,如果考虑优化和特殊情况,可稍微修改//建议使用笔画一下操作流程,可以有助于您理解//如果有错,或者有什么意见,欢迎留言,thanks!/*栈和队列 (线性结构)可以用链表,也可以用数组实现 区别: 栈 在一端操作 先进后出 队列 一端插入,另一端删除1.栈: 插入和删除的一端 栈...原创 2018-03-19 22:43:42 · 2753 阅读 · 0 评论 -
数据结构--二叉树--小小例题(完整注释)
题目:二叉树的链式存储结构的建立、前序、中序、后序遍历的算法,查询“E”是否在二叉树。 #include <stdlib.h>#include <stdio.h>typedef char DataType;typedef struct Node{ DataType data;/*数据域*/ struct Node *leftChild;/*左子树...原创 2019-03-08 19:40:56 · 668 阅读 · 1 评论 -
数据结构--队列的应用
题目:某银行有一人客户办理业务站,在单位时间内随机地有客户到达,设每位客户的业务办理时间是某个范围的随机值。设只有一个窗口,一位业务人员,要求程序模拟统计在设定时间内,业务人没的总空闲时间和客户的平均等待时间。假定模拟数据已按客户到达的先后顺序依次存于某个正文数据文件中,对应每位客户有两个数据:到达时间和需要办理业务的时间。 #include<stdio.h>#include...原创 2019-03-08 19:27:12 · 4463 阅读 · 1 评论 -
数据结构--图的遍历和应用
题目:采用邻接矩阵和邻接链表作为图的存储结构,完成有向图和无向图的DFS和BFS操作深度优先搜索法DFS的基本思想:从图G中某个顶点Vo出发,首先访问Vo,然后选择一个与Vo相邻且没被访问过的顶点Vi访问,再从Vi出发选择一个与Vi相邻且没被访问过的顶点Vj访问,……依次继续。如果当前被访问过的顶点的所有邻接顶点都已被访问,则回退到已被访问的顶点序列中最后一个拥有未被访问的相邻顶点的顶点W,...原创 2019-03-08 19:21:05 · 2580 阅读 · 0 评论 -
数据结构--顺序查找和二分查找
题目: 顺序查找,在顺序表R[0..n-1]中查找关键字为k的记录,成功时返回找到的记录位置,失败时返回-1;二分查找,在有序表R[0..n-1]中进行二分查找,成功时返回记录的位置,失败时返回-1。 顺序查找:#include <stdio.h>#define MaxSize 100typedef int DataType;typedef struct{DataTy...原创 2018-12-31 16:44:19 · 2390 阅读 · 0 评论 -
数据结构--冒泡排序和快速插入排序
题目:统计成绩:给出n个学生的考试成绩表,每条信息由姓名和分数组成,试设计一个算法:(1)按分数高低次序,打印出每个学生在考试中获得的名次,分数相同的为同一名次;(2)按名次列出每个学生的姓名与分数。 冒泡排序#include<stdio.h>#include<stdlib.h>#include<math.h>#include<string.h...原创 2018-12-31 16:38:40 · 2114 阅读 · 4 评论 -
数据结构--栈的应用
要求:首先将操作数栈opnd设为空栈,而将'#'作为运算符栈opter的栈底元素,这样的目的是判断表达式是否求值完毕;(2)依次读入表达式的每个字符,表达式须以'#'结尾,若是操作数则入栈opnd,若是运算符,则将此运算符c与opter的栈顶元素top比较优先级后执行相应的操作,具体操作如下:(i)若top的优先级小于c,即top<c,则将c直接入栈opter,并读入下一字符赋值给c;(i...原创 2018-12-30 20:49:17 · 247 阅读 · 0 评论 -
数据结构--哈希表查找
一、引言哈希表查找也是一种查找方式,在此之前,如果了解其它查找方法,然后对比该方法最好 本篇文章主要从两个方面介绍哈希表,一是哈希表的构造方法,另一个是哈希表的处理冲突方法。 同时,本篇文章介绍元素类型为数字整型。 红色尾非常主要内容,蓝色为细节内容。二、哈希表概念及原理1. 哈希表定义:哈希表(散列表), 是根据关键码值(Key value)而直接进行访问的数据结构。也就...原创 2018-12-29 21:23:53 · 2015 阅读 · 0 评论 -
数据结构--DAG拓扑排序
一、引言在学习拓扑排序之前,应该已经掌握了图的两种遍历方式+堆栈、队列的特点。 此文的实现,我会用Java实现。 蓝色表示细节,红色表示重要。二、拓扑排序概念1.在图中有一个重要的有向图类型,(有向图的表示方法仍然可以是邻接表或者邻接矩阵法)。2.仅有有向图无环图才具备可以得到拓扑排序的序列。3.进行拓扑排序有两种方式:利用图的DFS遍历,记住顶点退出遍历栈的顺序,将...原创 2019-04-16 17:23:57 · 2632 阅读 · 0 评论