摘要: 分治算法的核心思想是将一个规模很大的问题化简为n个规模较小的问题,这些子问题虽然独立而不同,但是问题的本质是一致的,从而达到分而治之的目的 归并排序 连续子列表的最大和 几何问题-凸包 数学问题-多项式乘法 归并排序 归并排序是一种有效的排序算法。其他常见的八种排序算法包括冒泡排序,插入排序,二叉树 阅读全文
posted @ 2020-07-02 22:16 小教官vv 阅读(375) 评论(0) 推荐(0) 编辑
摘要: 手机导航是怎么得出两个地点间的最短线路?把地图简化为一个加权图,然后利用这个加权图查找最短路径。 将地点看成节点,把道路看成边,整个地图就可看成一个加权图 迪克斯特朗算法(Dijkstra算法) 弗洛伊德算法(Floyd算法) A*算法 迪克斯特朗算法 如图所示公交车线路图,从A站到F站,如何知道坐 阅读全文
posted @ 2020-06-30 22:03 小教官vv 阅读(447) 评论(0) 推荐(0) 编辑
摘要: 动态规划算法将待求解问题拆分成一系列相互交叠的子问题,通过递推关系定义各子问题的求解策略,并随时记录子问题的解,最终获得原始问题的解,避免了对交叠子问题的重复求解。 在动态规划算法中有三要素: 最优子结构: 是指每个阶段的最优状态可以从之前某个阶段的某个或某些状态直接得到 边界: 是指问题最小子集的 阅读全文
posted @ 2020-06-22 21:40 小教官vv 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 贪心算法就是遵循某种既定原则,不断地选取当前条件下最优的选择来构造每一个子步骤的解决方案,直到获得问题最终的求解。在对问题求解时,总是做出在当前看最好的选择。 也就是说,不从整体最优上考虑,所做的仅是在某种意义上的局部最优解。 利用贪心算法解题,需要解决两个问题 问题是否适合用贪心算法求解 所求问题 阅读全文
posted @ 2020-06-19 23:40 小教官vv 阅读(393) 评论(0) 推荐(0) 编辑
摘要: 回溯算法可以看成走迷宫,不知道出口在哪,所以只能不断深入,尝试不同的路线。但一旦找到出口便可以回溯到起点,辩清路线。 回溯算法 遍历所有排序方式 经典问题的组合 查找单词问题 八皇后问题 解数独 回溯算法 简单来说,回溯采用试错的方法解决问题。一旦发现当前步骤失败,回溯方法就返回一个步骤,选择另一种 阅读全文
posted @ 2020-06-17 22:40 小教官vv 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 广度优先遍历与深度优先遍历类似,也是查询的方法之一,他也是从某个状态出发查询可以到达的所有状态。 但不同与深度优先遍历,广度优先遍历总是先去查询距离初始状态最近的状态。 选课的智慧:如何确定选课的顺序 寻找制高点:寻找制高点,抢占有利地形 合法的括号:从非法括号中寻找合法括号序列 数的右侧: 从树的 阅读全文
posted @ 2020-06-15 23:10 小教官vv 阅读(557) 评论(0) 推荐(0) 编辑
摘要: 深度优先遍历算法是经典的图论算法,深度优先遍历算法的搜索逻辑跟它名字一样,只要有可能,就尽量深入搜索,知道找到答案,或者尝试了所有可能后确定没有解。 什么是深度优先遍历 二叉树 怎么获取最多元宝 什么是深度优先遍历 沿着一个目的不断的检索,直到把所有的问题都解决,再去检索下一个目的。 检索问题的本质 阅读全文
posted @ 2020-06-12 21:40 小教官vv 阅读(806) 评论(0) 推荐(0) 编辑
摘要: 哈希算法又称散列函数算法,是一种查找算法。 简单来说,就是把一些复杂的数据,通过某种函数映射关系,映射成一种易于查找的方式。 但这种映射关系有可能会发生多个关键字映射到同一地址的现象,称之为冲突,需要对关键字进行二次或多次处理。 什么是哈希: 哈希和哈希原理 两个数的和: 快速寻找两个数的和(链表与 阅读全文
posted @ 2020-06-10 21:40 小教官vv 阅读(528) 评论(0) 推荐(0) 编辑
摘要: “指针”是编程语言中的一个对象,它存储着一个内存空间的地址,计算机可以通过这个地址找到变量的值。 指针最大的优点在于它可以有效利用零碎的内存空间。 数组合并 二分查找 链表 数组合并 问题:用指针合并两个有序数组 合并有序数组 通过一个数组中每个元素的下标,找出对应的值,可以将存储这个元素位置的下标 阅读全文
posted @ 2020-06-08 21:44 小教官vv 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 主题来自与BNDong 阅读全文
posted @ 2020-06-08 19:00 小教官vv 阅读(143) 评论(0) 推荐(0) 编辑