算法入门—《啊哈算法》读书总结

最近要开始准备秋招了,作为非计算机出身,还有大量的坑需要填,这几天研究了算法入门书——《啊哈算法》,算是读过最通俗易懂的了,趁还有印象总结一下,以便未来参考。


一、排序

1 桶排序——用book(数组)标记每个数出现的次数

注意: 若0-1000排序,需要1001个桶;时间复杂度为O(m+n)

2 冒泡排序——每次比较相邻的两个元素,如果他们的顺序错误,则交换过来

注意: 若n个数排序,则n-1个数归位;时间复杂度为O(N平方),因为需要双重嵌套循环

3 快速排序——每一轮基准数归位

注意: 基准数、哨兵、二分思想;最坏复杂度O(N平方),平均(NlogN)

4例子?:

买书:涉及到去重与排序

桶排序 或 先排序再去重 


二、栈、队列、链表

1 队列

删除一个数:head++

head == tail 空队列

出队操作,入队操作,先进先出

广度优先算法,队列优化,Bellman-Ford最短路算法的核心数据结构

结构体包括:data+ head + tail


2 栈

出栈操作,入栈操作,后进先出

典型例子如回文数的判定

结构体包括:data + top


3 例子?——小猫钓鱼

注意:C语言数组的下标由0开始;可以用book来代替枚举

<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值