随笔分类 - 数据结构与算法
摘要:
斐波那契散列和hashMap实践 适合的场景:抽奖(游戏、轮盘、活动促销等等) 如果有不对的地方,欢迎指正! HashMap实现数据散列: 配置项目,引入pom.xml: <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson
阅读全文

摘要:
该博客是剑指Offer专题的开篇,分享自己的学习思路,重建二叉树通过两段代码理解其中的思路。
阅读全文

摘要:
在学习Trie、并查集、堆、Hash表过程中将遇到的问题进行汇总,并在重要的地方进行理解整理,希望各位有所收获!
阅读全文

摘要:
双指针、位运算、离散化、区间合并的手动模拟,如有错误欢迎指正!
阅读全文

摘要:
该博客是关于数据结构中的链表、栈、队列与KMP知识点的总结和学习,希望各位有所收获!
阅读全文

摘要:
该博客记录前缀和问题以及差分的解题步骤与相应公式;
理解其中变化,有不完善的地方慢慢补全;
如果有错误欢迎指出!
阅读全文

摘要:
开始放寒假,准备开一篇数据结构与算法的汇总,记录这枯燥的寒假学习;
话不多说,先从数组搞起;
希望能坚持下去!
阅读全文

摘要:题目:给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词(python语言)。 1 示例 1: 2 3 输入: s = "anagram", t = "nagaram" 4 输出: true 5 示例 2: 6 7 输入: s = "rat", t = "car" 8 输
阅读全文
摘要:选择排序算法的原理: 选择排序是从冒泡排序演化而来的,每一轮(趟)比较出最小的那个值,放到第一个位置,然后在每轮的无序区中选出最小的值放到第二个位置。 目的:从小到大排序 图示: 算法的关键点是:有序区跟无序区、无序区最小的位置 首先我们写一个简单的选择排序,用到python的内置模块: 结果:[0
阅读全文
摘要:本节我们说说常见的排序算法 首先我们常见的排序算法有: 一般排序:快速排序:其他排序: 冒泡排序 快速排序 希尔排序 选择排序 堆排序 技术排序 插入排序 归并排序 技术排序 首先从一般排序开始说起,介绍冒泡排序: 定义:列表每两个相邻的数,如果前面比后面大,则交换这两个数,一趟排序完成后,无序区减
阅读全文
摘要:本节的内容: 什么是列表查找; 顺序查找(线性查找); 二分查找; 顺序查找与二分查找比较; 运行时间; 增速问题 一:什么是查找 查找:在一些数据元素中,通过一定的方法找出与给定的关键词相同的数据元素的过程。 二:顺序查找(线性查找):从列表中查找指定的元素 定义:从列表的第一个元素开始,顺序进行
阅读全文
摘要:一:空间复杂度:用来评估算法内存占用大小的问题 空间复杂度的表示方式: 使用了几个变量:O(1); 使用了长度为n的一位列表:O(n); 使用了m/n行n列的二位列表:O(mn)/O(n**2); 公司一般采取的策略是“空间换时间” 》怎么内存大小来降低网页或者应用的打开时间/访问时间。 二:递归:
阅读全文
摘要:时间复杂度:用来评估算法的运行效率的一个公式。 其中的“1”、“n”是一个单位,表示几次 第一个例子: 第二个例子: 第三个例子: 时间复杂度小结: 一般来说,时间复杂度高的算法比复杂度低的算法慢; 常见复杂度(按效率排序): O(1)<O(logn)<O(n)<O(nlogn)<O(n的平方) <
阅读全文