随笔分类 - 数据结构和算法
摘要:算法:如果说一个程序就是一个人的话,那么数据结构就是人的躯体,而算法就是这个人的灵魂算法的基本思想:1.穷举法思想:在可能的解空间列出所有解,并把每个解进行验证,从而得到答案2.分治思想:将大问题分解成小问题,然后将小问题都解决了也就解决了大问题3.递归思想:直接或者间接地调用原算法本身Tips: 递归和分治经常一起使用,因为由分治的方法产生的子问题往往是原问题的更小规模.反复使用分治手段可以使原问题和子问题类型一致,但规模不断缩小,最终使得子问题比较容易求解。在这里因为子问题跟原问题的类型相同,因此就具有了递归性4.贪心算法:通过局部的最优解来得到问题的最优解5.回溯法:是一种选优搜索法,按
阅读全文
摘要:查找:顺序查找:就一个接着一个去匹配....二分法查找:每次不断的缩减一半的范围去查找,条件:关键字已排序排序直接插入排序: 假设有2个数列,一个为原数列A1,一个为新数列A2(初始化的时候为空)。 步骤:按顺序每次从 A1拿出数放到A2中,并确保每次放入的时候都在正确的位置(按某种规则,比如:升序:前面的小后面的大;降序:前面的大后面的小)选择排序: 规则:从小到大 步骤:每次选择的时候把剩下的数选出最小的,然后跟上次位置+1的数交换(如果是第一次,则上次的位置为-1,因为数组是从0开始的...)冒泡排序: 规则:从小到大 步骤:两两对比,满足条件就交换位置,每一次下来...
阅读全文
摘要:因为最近在忙应聘的事情,需要学习一些数据结构和算法,特写此随笔,以便回忆~~数据结构: 指计算机内部数据的组织形式和存储方法 1:线性结构(一维) 两种形式: 顺序表:常用的 array 链表:存数据的同时存着下一节点的引用 常见的: 栈:先进慢出 队列:先进先出 2:树(Tree)(多维,一对多) 常见的:二叉树 树的遍历方式:前序遍历,中序遍历,后序遍历(个人觉得 前中后 这三个是相对于 根节点 来说的,而且都是以递归的形式) 深度优先遍历 和 广度优先遍历(keyword: 深,广 ^_^) 3: ...
阅读全文

浙公网安备 33010602011771号