算法的一些读后感

今天读了一些文章,讲的是算法的学习。

文中有一句话我记下来, 算法是很多的,数据结构相对较少,算法都是基于某些数据结构进行操作。所以将数据结构学的通透了,在多做一些题,可能会好一点。


学习数据结构的时候我们都是先学习创建,然后就是遍历。无论什么算法,落到程序实现的时候都是循环和判断。而且大部分都需要遍历。

链表就是从前到后就可以,双向链表,两边可以随便遍历。循环链表,自然需要进行head 、tail 。

树,结构上就是根和叶子。所以就有深度优先,和广度优先。

如果是二叉树,只有左节点,和右节点。所以遍历就有根左右,左右根,先根遍历,和后根遍历。

图就有很多存储了,比如用二位数组。或者哈希表,(图挺多的,我还没研究懂)就会产生很多算法。迷宫问题。你的数据结构不同。实现的时候有一定的不同。


排序:

冒泡排序:模仿水沸腾。n和n+1进行比较,每次把最大的放在最后。改进的双向冒泡,就是把大的放在后面,同时把小的放在前面。

快速排序:是冒泡的改进,思想就是一次遍历,把一个元素,左侧比他小,右侧比他大。然后,左侧的在执行,右侧在执行。

选择排序:就是每次选择一个最大的,放在与第一个交换,然后选择次大的与第二个交换。

归并排序:就是将有序的两个数组,遍历比较,放到第3个数组中。一个遍历完成后,剩下都放进去。   重点,是你要能把原数组的每2个看做一个单独的数组。



再说几个我会的简单算法:

贪心算法。你的数据结构进行排序后,按照一定的价值观,进行取就行。

线性规划。你主要就是把一个大问题,化解成小问题,小问题不断小,在变大,进行求解。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值