嵌入式day41

哈希表

将要存储的数据的关键字和位置建立对应的关系,通过哈希函数(散列函数)将数据映射到存储的位置,方便快速查找

哈希冲突/哈希矛盾:

key1 != key2

f(key1) = f(key2)

解决方法:

链地址法

算法

解决特定问题求解步骤

算法的设计:

1.正确性

语法正确

合法的输入能得到合理的结果

对非法的输入,给出满足要求的规格说明

对精心选择,甚至刁难的测试都能正常运行,结果正确

2.可读性,便于交流,阅读,理解 高内聚 低耦合

3.健壮性,输入非法数据,能进行相应的处理,而不是产生异常

4.高效率(时间复杂度)

5.第存储(空间复杂度)

算法时间复杂度

执行这个算法所花时间的度量

将数据量增长和时间增长用函数表示出来,这个函数就叫做时间复杂度

一般用大O表示法:O(n)--- 时间复杂度是关于数据n的一个函数

随着n的增加,时间复杂度增长较慢的算法时间复杂度低

时间复杂度的计算规则

1.用常数1 取代运行时间中的所有加法常数

2.在修改后的运行函数中,只保留最高阶项

3.如果最高阶存在且系数不是1,则去除这个项相乘的常数

排序算法:

稳定性:相同数据,排序后

冒泡:

思想:相邻数据两两比较,小的放前,大的放后

代码:

时间复杂度:O(n^2)

排序算法的稳定性:稳定

选择:

思想:待排数据与后面数据依次比较,将数据放在合适的位置

代码:

时间复杂度:O(n^2)

稳定性:不稳定

插入:

思想:将待排的数据插入到已有的数据中的合适的位置

代码:

时间复杂度:O(n^2)

稳定性:稳定

快速排序:

思想:先设置基准数(begin),从右往左找,第一个比基准数小的数,从左往右找,第一个比基准数大的数,互换两个数,重复刚才的操作,直到p ,q 相遇,内层循环结束后,将p,q所指的元素与基准数交换

代码:

时间复杂度:O(n log n)

稳定性:不稳定

二分查找(折半查找法):

序列必须有序

时间复杂度:O(log n)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值