- 博客(12)
- 收藏
- 关注
原创 查找与排序-1
查找与排序-1查找表概念基本查找技术顺序查找折半查找hash表技术概念hash函数的构造方法冲突处理方法 查找表 概念 查找表 用于查找的数据元素集合称为查找表。查找表由同一类型的数据元素构成。 查找 ① 在数据元素集合中查找满足某种条件的数据元素的过程为查找; ② 最简单且最常用的查找条件是关键字值等于某个给定值; ③ 按关键字查找,查找结果唯一;按次关键字查找,结果可能是多个记录,结果可能不唯一。 基本查找技术 顺序查找 基本思想 将查找表作为一个线性表,可以是顺序表,也可以是链表,依次用查找条件
2020-07-01 16:06:48
374
原创 数据结构 图
数据结构 图图定义存储结构邻接矩阵邻接表图的遍历深度优先搜索广度优先搜索 图定义 图是一个二元组<V,E>。其中V是顶点的有穷非空集合,E是两个顶点之间关系的集合。 如果<v,w>属于E,则<v,w>表示从v到w的一条弧,v为弧尾,w为弧头,此时的图称为有向图; 如果<v,w>属于E必有<w,v>属于E,则为无向图。 完全图 ① 具有n(n-1)条弧的有向图为有向完全图。 ② 具有n(n-1)/2条边的无向图称为无向完全图。 顶点的度/入度/出度
2020-07-01 13:34:05
476
原创 数据结构 树
数据结构 树树定义定义基本概念二叉树二叉树定义存储结构二叉树的遍历 树定义 定义 树是一种常用的非线性结构,其递归定义如下: 树是n(n>=0)个结点的有限集合。若n=0,则称为空树,否则,有且仅有一个特定的结点被称为根,当n>1时,其余结点被分为m个互不相交的子集,每个子集又是一棵树。 常见树结构 组织机构关系 血缘关系 树的组织 文件系统 基本概念 结点 数据元素的内容及其指向其子树根的分支统称为结点。 结点的度 一个结点所拥有的分支数。 树的度 所有结点的度的最大值。 终端结点(叶子
2020-06-30 20:56:11
361
原创 数据结构 数组
数据结构 数组数组数组定义多维数组顺序存储结构 数组 数组定义 数组的特点是每个数据可以又是一个线性表结构。因此,数组结构可以简单的定义为:若线性表中的数据元素为非结构的简单元素,则称为一维数组,即为向量;若一维数组中的数据元素又是一维数组结构,则称为二维数组:以此类推。 线性表结构是数组结构的一个特例,而数组结构又是线性表结构的扩展。 多维数组 顺序存储结构 数据结构的定义 #define max_row_size 10 #define max_col_size 10 typedef struc
2020-06-30 17:42:46
535
原创 数据结构 堆栈与队列-2
数据结构 堆栈与队列-2队列循环队列顺序存储队列的链式存储 队列 队列是一种特殊的线性表,它只允许在表的前端front进行删除操作,在表的后端rear进行插入操作。 进行插入操作的称为队尾rear,进行删除操作的为队头。 队列中没有元素时,称为空队列。 队列具有先进先出的特点。 队列空的条件:front=rear 队列满的条件:rear=maxsize 循环队列 将存储队列元素的以为数组首尾相接,形成一个环状,这种形式表示为循环队列。 通常还需要增加标志s来区分队列满还是空。 循环队列顺序存储
2020-06-30 17:16:36
173
原创 数据结构 堆栈与队列-1
数据结构 堆栈与队列-1堆栈基本操作顺序存储链式存储链式栈描述栈应用举例 堆栈 栈是一种特殊的线性表,即LIFO线性表(last in first out,后进先出) 栈的特点在于限定插入和删除数据元素的操作只能在线性表的一端进行。 进行插入和删除的一端是浮动端,通常称为栈顶,并用一指针指示,称作栈顶指针,而另一端是固定端,通常被称为栈底。 基本操作 initiate(s)初始化 push(s,elem)入栈 pop(s,elem)出栈 isEmpty(s)判断是否为空 top(s)获取栈顶元素
2020-06-30 13:01:23
196
原创 数据结构 链式存储-约瑟夫问题-多项式求解
数据结构 链式存储-约瑟夫问题-多项式求解约瑟夫问题问题描述算法描述c++python多项式求和问题描述算法描述c++python 约瑟夫问题 问题描述 算法描述 c++ python 多项式求和 问题描述 算法描述 c++ python ...
2020-06-28 20:22:48
692
原创 算法-Hanoi塔-n皇后问题
算法-Hanoi塔-四皇后问题Hanoi塔问题描述基本思路c++算法python算法四皇后问题问题描述基本思路c++算法python算法 Hanoi塔 问题描述 传说婆罗门庙里有一个塔台,塔台上有三个标号为A,B,C的柱子,在柱子A上有n个大小不同的金盘,现在要求将塔A上的n个金盘移至C上并按同样顺序摆放,金盘移动必须遵守以下规则: 每次只能移动一个圆盘; 圆盘可以在A,B,C任一上; 任何时刻都不能将大圆盘放在小圆盘上。 基本思路 使用递归法 算法描述 void hanoi(int n,char A
2020-06-28 14:54:45
518
原创 算法
算法算法基本概念1. 定义2. 特性基本要素设计过程算法描述语言算法设计基本方法列举法基本概念百鸡问题归纳法递推法递归法减半递推技术回溯法算法复杂度分析评价方法算法时间复杂度算法空间复杂度 算法基本概念 1. 定义 一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,明确的,此顺序将在有限的次数下终止。 算法是解决某个特定问题的一种方法或一个过程。 算法是任何定义好了的计算程式,它取某些值或值的集合作为输入,并产生某些值或值的集合作为输出。 2. 特性 可行性 ① 算法中每一个步骤都是可以实现的;
2020-06-28 12:09:13
1247
1
原创 数据结构 线性表-2 链式存储
数据结构 线性表-2 链式存储引言单向链表组成描述基本操作单链表的不足循环链表结构循环链表检索双向链表结构描述 引言 链式存储结构指用一组任意的存储单元(可以连续,也可以不连续)存储线性表中的数据元素,而数据元素之间的逻辑关系由存储结点的指针域来确定。 特点 1、 线性表中的数据元素在存储单元中的存放顺序与逻辑顺序不一定一致; 2、 访问数据元素时,只能由头指针进入链表,并通过结点的指针域向后扫描其余结点,这样访问不同数据元素所花的时间是不相等的,具有这种特点的存取方式被称为顺序存取方式。 单向链表 组成
2020-06-27 19:31:35
335
原创 数据结构 线性表-1顺序存储
数据结构 线性表-1引言什么是线性结构线性表-逻辑结构线性表-物理存储结构线性表-顺序存储线性表基本操作线性表插入与删除操作线性表顺序存储结构的不足 引言 什么是线性结构 定义 有且仅有一个起始元素(无直接前趋,仅有一个直接后继),一个终点元素(无直接后继,仅有一个前趋),其余内部元素各有一个直接前趋和一个直接后继的有限有序序列。 b123e 常见类型:线性表、堆栈、队列、数组、串等。 线性表-逻辑结构 是指数据元素之间的关系为一一对应的线性关系的数据结构。 例如: (1,2,3,4,5,6)是一个
2020-06-27 16:18:02
662
原创 数据结构基本概念
数据结构基本概念什么是数据结构数据结构的三层次数据常见物理存储结构 什么是数据结构 程序=数据结构+算法 1、 数据结构的定义:讨论和研究计算机系统中数据的组织形式及相互关系。 2、 数据:用计算机对客观事物进行识别、存储和加工所进行的描述统称为数据,其基本单位。是数 据元素 (数据节点),例如:十进制、二进制常数、字母、字符、程序段、图形图像、语音文件等。 3、 结构:指事物的相互关系和约束。 数据结构的三层次 数据的逻辑结构——数据元素间的逻辑关系 线性结构:线性表 非线性结构:
2020-06-27 12:47:22
576
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人