
算法
つき
唯恐暴露才华不足的卑怯的畏惧,和厌恶专研刻苦的惰怠,就是我的全部了。
展开
-
算法基础--第一章--认识复杂度和简单排序算法
回顾一下算法方面的基础知识:-- 时间复杂度和空间复杂度 选择排序、冒泡排序、插入排序的细节和时间复杂度分析-- 二分法的使用和复杂度分析-- 一道时间复杂度很低的利用异或运算解决的问题-- 常见时间复杂度的比较-- 详解递归函数与常见递归函数的复杂度估算(master公式)--详解对数器的使用认识时间复杂度:常数操作(与数据量没有关系,固定时间):数组寻址操作(内存跳一下时...原创 2019-03-19 16:40:36 · 320 阅读 · 0 评论 -
算法基础--第二章--认识O(N*logN)的排序
--归并排序详解--快速排序详解--堆结构和堆排序详解问题一·(荷兰国旗问题)给定一个数组arr,和一个数num,请把小于等于num的数放在数组的左边,大于num的数放在数组的右边。要求额外空间复杂度O(1),时间复杂度O(N)问题二·(荷兰国旗问题)给定一个数组arr,和一个数num,请把小于num的数放在数组的左边,等于num的数放在数组的中间,大于num的数放...原创 2019-03-19 20:48:03 · 185 阅读 · 0 评论 -
算法基础--第三章--详解桶排序以及排序内容大总结
-- 桶排序思想下的具体排序:计数排序、基数排序-- 详解比较器-- 排序内容汇总与常见坑总结-- 工程上对排序的改进工程上对排序的改进:1.样本量很低时(<60),用插排,常数项低2.内置类型快速排序(相同值无差异)3.自定义类类型归并排序(多维度有差异,稳定性)有关排序问题的补充:1,归并排序的额外空间复杂度可以变成O(1),但是非常难,不需要掌握...原创 2019-03-20 21:36:59 · 347 阅读 · 0 评论 -
算法基础--第四章--链表
-- 链表问题对于笔试和面试阶段的解题方法论-- 常见的链表面试题目-- 利用快慢指针-- 哈希表和有序表在使用层次上的简单介绍1.用数组结构实现大小固定的队列和栈栈:加数index加,弹出减队列:public class Code_01_Array_To_Stack_Queue { public static class ArrayStack {...原创 2019-03-20 21:36:41 · 221 阅读 · 0 评论 -
算法基础--第五章--二叉树
--详解递归函数完成二叉树的三种遍历--详解非递归函数完成二叉树的三种遍历--详解二叉树的序列化和反序列化(深度优先与宽度优先遍历)--折纸问题--判断搜索二叉树--判断完全二叉树--判断平衡二叉树--二叉树节点的前驱节点与后继节点1.实现二叉树的先序、中序、后序遍历,包括递归方式和非递归方式 递归:打印时间不同124442555213666377731非递归:...原创 2019-03-21 13:08:10 · 157 阅读 · 0 评论 -
算法进阶--第一章--哈希函数
-- 哈希函数与哈希表-- 位图与布隆过滤器详解-- 一致性哈希结构1.经典哈希函数1)input 无穷大 hashcode f(string)2)output S域·3)输入一样输出一样4)当输入不一样,输出可能一样 哈希碰撞5) 离散 均匀输出 打乱输入规律 模m 0~m-1哈希表效率变差,哈希表的扩容 在线离线 O(1)哈希函数...原创 2019-03-21 17:47:15 · 322 阅读 · 0 评论 -
算法基础--第七章--详解前缀树和贪心算法
-- 详解前缀树-- 介绍贪心算法及其相关题目-- 在面试中如何快速的尝试出贪心策略介绍前缀树何为前缀树?如何生成前缀树?例子:一个字符串类型的数组arr1,另一个字符串类型的数组arr2。以be开头查找be字符串是否含有 字符串结尾加1以多少个某个字符串作为前缀,划过的次数public class Code_01_TrieTree { publ...原创 2019-03-21 22:04:34 · 257 阅读 · 0 评论 -
算法基础--第八章--暴力递归
-- 常见的递归问题-- 几种常见的尝试类型介绍递归和动态规划暴力递归:1,把问题转化为规模缩小了的同类问题的子问题2,有明确的不需要继续进行递归的条件(base case)3,有当得到了子问题的结果之后的决策过程4,不记录每一个子问题的解动态规划1,从暴力递归中来2,将每一个子问题的解记录下来,避免重复计算3,把暴力递归的过程,抽象成了状态表达4,并且存在化简状态...原创 2019-03-22 21:44:49 · 503 阅读 · 0 评论 -
牛客网剑指Offer刷题记录
参照剑指Offer电子稿讲解及他人代码学习并修改(c++版),感谢。1.解决一个复杂问题时从具体问题入手,边角处class Solution {public: bool Find(int target, vector<vector<int> > array) { int rows = array.size(); int c...原创 2019-04-09 16:05:04 · 196 阅读 · 0 评论