数据结构知识框架【超详细】 (5)

当一个元素被加入集合时,通过k个散列函数将这个元素映射成一个位数组中的k个点,将它们置为1,检索时只要看是不是都是1,就可以,只要有一个零就不是,全是1,可能是

排序 概念

就是将一组杂乱无章的数据按照一定的规律(升序或降序)组织起来

数据表

待排序数据元素的有限集合

排序码

通常数据元素有多个属性域,其中有一个数据域可用来区分元素,作为排序依据,该域即为排序码

如果在数据表中各个元素的排序码互不相同,这种排序码称为主排序码

排序算法的稳定性

两个元素R[i]R[j],它们排序码K[i]==K[j],且在排序之前,元素R[i]在R[j]之前,元素在R[i]和R[j]的顺序不变

常见排序算法

插入排序

直接插入排序

插入到已排序序列中,先找位置,然后将位置之后得元素后移

稳定

希尔排序

缩小增量排序

选择排序

选择排序

每次把最小的元素换在最前面

锦标赛排序

一直两两比较找出获胜者,将这个不再比较,其他继续两两比较,取得获胜者,一直循环

不稳定

堆排序

升序创建大堆,否则创建小堆

不稳定

交换排序

冒泡排序

稳定

依次比较相邻两个元素,不满足条件交换

快速排序

取一个基准值将比它小得放在左侧,大的放在右侧。左右两部分递归取基准值继续分

归并排序

归并排序

将待排序的序列分成两个等长的子序列,然后将它们合并成一个序列

非比较排序

计数排序

基数排序

图 由顶点集合及顶点间关系组成的一种数据结构 顶点和边

顶点

图中结点称为结点

顶点与顶点之间有一条边

图的分类

有向图

在有向图中,顶点对<x,y>是有序的<x,y><y,x>是不同的两条边

无向图

(x,y)(y,x)是一条边

完全图

在有n个顶点的无向图中,若有n*(n-1)/2条边,即任意两个两个顶点之间有且只有一条边

在n个顶点的有向图中,若有n*(n-1)条边,即任意两个顶点之间有且仅有方向相反的边

邻接结点

在无向图中G中,若(u,v)是E(G)中的一条边,则称u和v互为邻接顶点,并称(u,v)依附于顶点u和v

在有向图G中,若<u,v>是E(G)中的一条边,则称顶点u邻接到v,顶点v邻接自顶点u,并称边<u,v>与顶点u和v相关联

顶点的度

与它相关联的边的条数

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpjxzf.html