当前位置:首页 > 嵌入式培训 > 嵌入式学习 > 学习笔记 > 嵌入式学习笔记:数据结构与算法之哈希表和快速排序详解

嵌入式学习笔记:数据结构与算法之哈希表和快速排序详解 时间:2018-09-17      来源:未知

1. 查找算法:hash(散列表)

定义:将查找的记录健值key和记录的存储位置通过一定的映射关联起来。通过健值和散列函数求出散列地址(记录的保存地址),在该出进行查找

问题:构建的散列表存在一定的冲突

解决办法:

开放地址法:将发生冲突的记录存储在开放地址中(从当前位置开始查找空闲的散列地址)

链接法:将不同健值对应相同的散列地址的记录通过指针链接起来。HASH查找

指针数组 + 链表序列

2. 排序算法: 递归排序

数据分割:将数据通过基准分割成两个序列,左侧比基准小,右侧比基准大。

递归排序:将分割好的左右序列再进行分割,从而达到排序的效果

Void Quichsort(arr,low,high)

{

Int i=low , j=high; base=a[i];

While( i< j) //遍历整个数序列

{

//从右向左查找第一个比base小的值,并移位置 While(a[j]>=base && i< j)

j--;

a[i]=a[j];

//从左向右查找第一个比base大的值,并移位置

while(a[i]<=base && i < j)

i++;

a[j]=a[i];

}

a[i]=base; //最终分割位置插入

quicksort(arr, low,i-1); //左分支递归

quicksort(arr,i+1,high); //右分支递归

}

上一篇:嵌入式学习笔记:c语言循环语句总结,外加经典实例

下一篇:嵌入式学习笔记:Gcc编译流程详解

热点文章推荐
华清学员就业榜单
高薪学员经验分享
热点新闻推荐
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2022 北京华清远见科技集团有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部