算法
文章平均质量分 63
小张报到
做自己,努力前行
展开
-
算法------分治法
算法------分治法定义精髓(步骤)经典问题总结定义分治法:对于一个规模为n的问题,若该问题可以容易地解决(比如说规模n较小)则直接解决,否则将其分解为k个规模较小的子问题。这些子问题互相独立且与原问题形式相同,递归地解这些子问题,然后将各子问题的解合并得到原问题的解。精髓(步骤)①分解:将原问题分解为若干个规模较小,相互独立,与原问题形式相同的子问题;②解决:若子问题规模较小而容易被解决则直接解,否则递归地解各个子问题; ③合并:将各个子问题的解合并为原问题的解。经典问题1、二分原创 2021-08-16 23:32:16 · 334 阅读 · 0 评论 -
算法练习------二分查找
算法练习------二分查找定义算法要求二分查找基本框架例题总结定义二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。算法要求①必须采用顺序存储结构②必须按照关键词的大小进行有序排序二分查找基本框架int Solution(int[] nums, int a) { int left = 0, right = ...; while(...) { int mi原创 2021-08-11 16:06:15 · 326 阅读 · 0 评论 -
算法-----动态规划
动态规划基本思想适用条件使用步骤例题基本思想将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。适用条件①最优化原理:一个最优化策略的子策略总是最优的②无后向性:即以前的决策无法直接影响未来的决策,未来的决策只取决于现在的状态③子问题的重叠:关键在于解决程序的冗余;动态规划实际上是以空间换时间的手段使用步骤①总结规律②列出状态转移方程式③使用以往的结果进行最后的最优解例题题目:最长回文子串(要求使用动态规划完成):给你一个字符串 s,找到 s 中最原创 2021-08-06 22:03:39 · 285 阅读 · 0 评论