自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 【数据结构】分配排序

基于分配和收集基本思想先将数据分配到不同的桶中再将桶中的数据收集到一起两种方法桶式排序(单关键字排序)链式基数排序(多关键字排序)特点排序过程无须比较关键字,而是通过“分配”和“收集”过程来实现排序它们的时间复杂度可达到线性阶:O(n)。桶式排序假设待排序的记录的值在0~m-1之间设置m个桶,依次扫描待排序的记录,R[1],…,R[n-1],把关键字等于k的记录全都装入到...

2019-12-20 22:28:35 470

原创 【数据结构】归并排序

归并:将两个或两个以上的有序序列合并成一个有序序列的过程。归并排序的主要操作是归并,其主要思想是:将若干有序序列逐步归并,最终得到一个有序序列。基本思想:将一个具有n个待排序记录的序列看成是n个长度为1的有序序列,然后进行两两归并,得到n/2个长度为2的有序序列,再进行两两归并,得到n/4个长度为4的有序序列,……,直至得到一个长度为n的有序序列为止。void Merge (in...

2019-12-20 22:00:30 53

原创 【数据结构】选择排序

简单排序void selectSort ( int r[ ], int n){ for ( i=1; i<n; i++) { index=i; for (j=i+1; j<=n; j++) if (r[j]<r[index]) index=j; if (index...

2019-12-20 21:44:25 46

原创 【数据结构】交换排序

交换排序的主要操作是交换,其主要思想是:在待排序列中选两个记录,将它们的关键码相比较,如果反序(即排列顺序与排序后的次序正好相反),则交换它们的存储位置。交换类排序的两种方法冒泡排序快速排序起泡排序基本思想:两两比较相邻记录的关键码,如果反序则交换,直到没有反序的记录为止。void BubbleSort(int r[ ], int n){ exchange=n; ...

2019-12-20 21:39:59 49

原创 【数据结构】插入类排序

插入排序的主要操作是插入,其基本思想是:每次将一个待排序的记录按其关键码的大小插入到一个已经排好序的有序序列中,直到全部记录排好序为止。插入类排序方法有以下两种:直接插入排序希尔排序直接插入排序void insertSort (int r[ ], int n){ for (i=2; i<=n; i++) { r[0]=r[i]; j=i-1;...

2019-12-20 20:11:05 80

原创 【数据结构】排序概述

排序的分类-根据排序过程中所进行的基本操作分:基于比较:基本操作——关键码的比较和记录的移动,其最差时间下限已经被证明为O(nlog2n)。不基于比较:根据关键码的分布特征。比如,桶式排序,基数排序(多关键字排序)基于比较的内排序插入排序交换排序选择排序归并排序不基于比较的排序1.分配排序2.桶式排序3.基数排序排序算法的存储结构从操作角度看,排序是线性结构的一种...

2019-12-20 17:27:38 34

原创 【数据结构】散列表(hash)的查找技术

散列函数的构造直接定址法除留余数法数字分析法平方取中法折叠法(分段叠加法)冲突处理方法开放定址法链地址法建立公共溢出区散列的基本思想:在记录的存储地址和它的关键码之间建立一个确定的对应关系。这样,不经过比较,一次读取就能得到所查元素的查找方法。基本概念1.散列表:采用散列技术将记录存储在一块连续的存储空间中,这块连续的存储空间称为散列表。2.散列函数:将关键码映射为散...

2019-12-20 17:23:29 197

原创 【数据结构】B-树

定义m阶B-树:是满足下列特性的树:(1) 树中每个结点至多有m棵子树;(2) 若根结点不是终端结点,则至少有两棵子树;(3) 除根结点外,其他非终端结点至少有【m/2】(向上取整) 棵子树;(4)所有非终端结点都包含以下数据:(n,A0,K1,A1,K2,…,Kn,An)其中,n(【m/2】(向上取整)-1≤n≤m -1)为关键码的个数;Ki(1≤i≤n)为关键码,且Ki<Ki...

2019-12-20 13:22:13 111

原创 【数据结构】平衡二叉树(AVL树)

1.平衡二叉树:或者是一棵空的二叉排序树,或者是具有下列性质的二叉排序树:⑴ 根结点的左子树和右子树的深度最多相差1;⑵ 根结点的左子树和右子树也都是平衡二叉树。2.平衡因子:结点的平衡因子是该结点的左子树的深度与右子树的深度之差。3.结点的平衡因子=HL-HR4.在平衡树中,结点的平衡因子可以是1,0,-1。5.最小不平衡子树:在平衡二叉树的构造过程中,以距离插入结点最近的、且平衡因...

2019-12-20 13:18:45 58

原创 【数据结构】树表的查找技术

二叉排序树(BST)平衡二叉树(AVL)二叉排序树(Binary Search Tree)二叉排序树(也称二叉查找树):或者是一棵空的二叉树,或者是具有下列性质的二叉树:⑴若它的左子树不空,则左子树上所有结点的值均小于根结点的值;⑵若它的右子树不空,则右子树上所有结点的值均大于根结点的值;⑶ 它的左右子树也都是二叉排序树。#include <iostream>using...

2019-12-20 13:00:56 85

原创 【数据结构】线性表的查找技术

顺序查找普通的顺序查找方法带监视哨的顺序查找方法折半查找折半查找的判定树声明#include using namespace std;const int MaxSize = 100;class LineSearch{public: LineSearch(int a[ ], int n); //构造函数 ~LineSearch( ) { } //析构函数为空...

2019-12-01 14:58:06 174

原创 【数据结构】查找概述

1、静态查找 :不涉及插入和删除操作的查找 。2、动态查找 :涉及插入和删除操作的查找。3、静态查找适用于:查找集合一经生成,便只对其进行查找,而不进行插入和删除操作; 或经过一段时间的查找之后,集中地进行插入和删除等修改操作;4、动态查找适用于:查找与插入和删除操作在同一个阶段进行,例如当查找成功时,要删除查找到的记录,当查找不成功时,要插入被查找的记录。5、线性表:适用于静态查找,主要...

2019-12-01 14:47:36 67

原创 【数据结构】图的连通性

连通图:仅需从图中任一顶点出发,进行深度优先搜索(或广度优先搜索),便可访问到图中所有顶点。非连通图:需从多个顶点出发进行搜索,而每一次从一个新的起始点出发进行搜索过程中得到的顶点访问序列恰为其各个连通分量中的顶点集。无向图的连通性要想判定一个无向图是否为连通图,或有几个连通分量,通过对无向图遍历即可得到结果。count=0;for (图中每个顶点v)2.1 if (v尚未被访问过)...

2019-12-01 14:42:57 159

原创 【数据结构】有向无环图

AOVAOV网:在一个表示工程的有向图中,用顶点表示活动,用弧表示活动之间的优先关系,称这样的有向图为顶点表示活动的网,简称AOV网。AOV网特点1.AOV网中的弧表示活动之间存在的某种制约关系。2.AOV网中不能出现回路 。拓扑序列:设G=(V,E)是一个具有n个顶点的有向图,V中的顶点序列v1, v2, …, vn称为一个拓扑序列,当且仅当满足下列条件:若从顶点vi到vj有一条路径...

2019-12-01 14:38:36 451

原创 【数据结构】最短路径

在非网图中,最短路径是指两顶点之间经历的边数最少的路径。在网图中,最短路径是指两顶点之间经历的边上权值之和最短的路径。单源点到其他顶点的最短路径Dijkstra方法,O(n2)任意一对顶点之间的最短路径Floyed方法,O(n3)单源点最短路径问题问题描述:给定带权有向图G=(V, E)和源点v∈V,求从v到G中其余各顶点的最短路径。迪杰斯特拉(Dijkstra)提出了一个按路径...

2019-12-01 14:22:34 220

原创 【数据结构】最小生成树MST(minimal spanning tree)

1、生成树的代价:设G=(V,E)是一个无向连通网,生成树上各边的权值之和称为该生成树的代价。2、最小生成树:在图G所有生成树中,代价最小的生成树称为最小生成树。3、性质假设G=(V, E)是一个无向连通网,U是顶点集V的一个非空子集。若(u, v)是一条具有最小权值的边,其中u∈U,v∈V-U,则必存在一棵包含边(u, v)的最小生成树。4、构造最小代价生成树两种方法:Prime法:...

2019-12-01 13:01:56 642

原创 【数据结构】图的存储结构及实现

注意:图无法采用顺序存储结构!!!顶点之间的关系是m:n,即任何两个顶点之间都可能存在关系(边),无法通过存储位置表示这种任意的逻辑关系。邻接矩阵(数组表示法)1、基本思想:用一个一维数组存储图中顶点的信息用一个二维数组(称为邻接矩阵)存储图中各顶点之间的邻接关系。(边)2、邻接矩阵无向图(1)无向图的邻接矩阵的特点?主对角线为 0 且一定是对称矩阵。(2)如何求顶点i的度...

2019-12-01 12:19:37 432

原创 【数据结构】图的遍历概述

图的遍历是从图中某一顶点出发,对图中所有顶点访问一次且仅访问一次。是一种抽象操作,可以是对结点进行的各种处理,这里简化为输出结点的数据。关键问题① 在图中,如何选取遍历的起始顶点?在图中,任何两个顶点之间都可能存在边,顶点是没有确定的先后次序的,所以,顶点的编号不唯一。为了定义操作的方便,将图中的顶点按任意顺序排列起来,比如,按顶点的存储顺序。解决方案:从编号小的顶点开始 。② 从某...

2019-12-01 11:26:52 103

原创 【数据结构】二叉树的遍历操作

定义1、二叉树的遍历是指从根结点出发,按照某种次序访问二叉树中的所有结点,使得每个结点被访问一次且仅被访问一次。2、是抽象操作,可以是对结点进行的各种处理,这里简化为输出结点的数据。3、访问分类前序遍历:若二叉树为空,则空操作返回;否则:①访问根结点;②前序遍历根结点的左子树;③前序遍历根结点的右子树。中序遍历:若二叉树为空,则空操作返回;否则:①中序遍历根结点的左子树;②...

2019-12-01 00:11:28 250

空空如也

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除