算法
Kowloonm
为者常成,行者常至。
展开
-
数据结构笔记汇总
学习的是尚硅谷韩顺平老师的课程。现将总结的笔记链接,整理如下:000.稀疏数组 001.数组模拟队列 002.数组模拟环形队列 003.单链表(插入、修改、删除) 004.单链表(新浪、腾讯、百度面试题) 005.双链表 006.环形链表 007.栈 008.前缀、中缀、后缀(逆波兰表达式) 009.中缀转后缀 010.递归(应用场景、机制) 011.递归(走迷宫、八皇后) 012.时间频度、(时间、空间)复杂度 013.常见的排序算法 014.交换排序(冒泡、快速) 01原创 2021-02-27 12:06:45 · 323 阅读 · 0 评论 -
数据结构笔记_49 贪心算法
一、简介二、实例思路一、穷举法思路二、贪心算法思路图解:allAreas 存放需要覆盖的所有地区,selects集合存放每一次比较后的最优解。首先经过key从K1比较到K5,发现K1的后面没有比K1 大的,所以把K1放入selects 集合中,并在allAreas 中删除掉K1所覆盖的城市,准备下一次的比较。在去掉第一轮中的城市后,开始第二轮比较,发现K2覆盖2个城市,是最多的,于是将maxKey指向K2,并将K2加入selects集合,在allAreas中删除K2包含的城市。拿原创 2021-03-12 23:57:51 · 326 阅读 · 0 评论 -
数据结构笔记_48 KMP算法
一、介绍传送门: 参考资料二、实例:1、分析思路图解:2、总结KMP步骤:先得到子串的部分匹配表(最长公共前后缀)再使用部分匹配表完成KMP匹配三、代码实操1、得到子串的部分匹配表再往上面填写,即可得到子串的部分匹配表(最长公共前后缀)。关于下面这行代码的由来:如下:首先,len - 1 ,然后 它这个位置上的数字,就是新的len这里的 1 代表匹配到的最长公共串的长度为1.2、使用部分匹配表完成KMP匹配测试:输出:完整代码:p原创 2021-03-12 00:10:13 · 330 阅读 · 1 评论 -
数据结构笔记_47 暴力匹配算法
先看一个暴力匹配法:2)的注释:i = i - (j-1),即从i 之前 匹配成功位置 的 下一个位置 开始匹配。暴力匹配示意图:暴力匹配算法虽然比较笨,但也不失为字符串匹配问题的一种解决方案。可以拿来跟后面的KMP算法作比较。代码+输出:package com.huey.kmp;public class ViolenceMatch { public static void main(String[] args) { // 测试暴力匹配 String str1 = "烦恼不.原创 2021-03-11 13:03:18 · 254 阅读 · 2 评论 -
数据结构笔记_46 动态规划(01背包问题)
一、简介:下面是算法的介绍:先看一个实例:背包问题二、实例图解:三、代码1、首先设置基础属性,并将表初始化。2、核心代码:输出:3、完整代码:package com.huey.dynamic;public class KnapsackProblem { public static void main(String[] args) { int[] w = { 1, 4, 3 };// 物品的重量 int[] val = { 1500, 3000, 2000 };//原创 2021-03-11 12:29:04 · 249 阅读 · 2 评论 -
数据结构笔记_45 分治算法(汉诺塔等)
一、简介二、基本步骤三、算法设计模式四、分治算法实例:汉诺塔演示:将盘子移动至C塔1、只有一个盘子时A到C,一步到位即可。2、有两个盘子时三步走。将A塔上面的所有盘移动到B塔;将A塔下面的盘子移动到C塔;把B塔的盘子移动到C塔。第一步: 将A塔上面的所有盘移动到B塔;第二步:将A塔下面的盘子移动到C塔;第三步:把B塔的盘子移动到C塔。3、有三个盘子时一样的思路:将A塔上面的所有盘移动到B塔;将A塔下面的盘子移动到C塔;把B塔的盘子移动到C塔。原创 2021-03-10 15:56:40 · 161 阅读 · 0 评论 -
数据结构笔记_44 二分查找(非递归)
二分查找算法(非递归)介绍:需要注意的是, 只有有序的数列才可以使用此算法。优点:非递归的方式,易于理解,且效率不错,节省开辟栈空间的开销了。代码实现:例:现有数组{ 1, 3, 8, 10, 11, 67, 100 },要求实现二分查找(非递归)测试:完整代码package com.huey.binarysearchnorecursion;public class BinarySearchNoRecur { public static void main(String[]原创 2021-03-10 13:47:50 · 152 阅读 · 0 评论