随笔分类 - DS and Algorithm
数据结构入门,算法进阶
摘要:题目描述 在股市的交易日中,假设最多可进行两次买卖(即买和卖的次数均小于等于2),规则是必须一笔成交后进行另一笔(即买-卖-买-卖的顺序进行)。给出一天中的股票变化序列,请写一个程序计算一天可以获得的最大收益。请采用实践复杂度低的方法实现。 给定价格序列prices及它的长度n,请返回最大收益。保证
阅读全文
摘要:树相关 1.重建二叉树 2.树的子结构 3.二叉树镜像 4.对称二叉树 5.二叉树前中后续遍历,递归和循环版 递归就是递归,循环实现用栈(前序中序比较简单,后续的话需要简单修改一下前序遍历,反转即可) 前序遍历非递归版 6.后序遍历非递归版 7.二叉树中和为某值的路径 8.二叉树的深度 (递归) 非
阅读全文
摘要:大数据与空间限制问题 statement:本篇文字是看书(最后有介绍)的总结,题目同样来自书上,仅限于想法,没有代码实现。 1. 布隆过滤器:100亿个黑名单网页,使用额外空间不超过30GB,允许万分之一失误率。 常见于建立黑名单时过滤使用。使用多个(就k吧)相互独立的优秀的hash函数,创建一个m
阅读全文
摘要:剑指offer面试常考手撸算法题-链表篇 1. 从头到尾打印链表 2. 链表中倒数第k个节点 3. 翻转链表 4. 合并两个排序链表 5. 两个链表第一个公共节点 6. 链表中环的入口节点(快2满1指针判断成环,再走一圈计算环长,快慢指针找到入口) 判断链表是否成环(快慢指针解决) 7. 删除链表重
阅读全文
摘要:一、常用排序算法及滑稽实现 1. 插入排序:遍历数组(n),将每个元素插入到前面子序列的合适位置(插入时采取前面的部分元素后移,再将本元素填在适当位置的方法) 平均:O(n2) 最坏:O(n2) 最好:O(n)(有序时出现) 稳定性:稳定(相同元素在排序之后相对位置不会改变) 模拟: 12 30 9
阅读全文
摘要:非常简洁和巧妙的算法。 时间:O(n) 一个函数
阅读全文
摘要:1.一种较笨的办法是先将链表元素入栈,然后出栈找到倒数第k个节点值,再拿着值遍历链表去找到对于节点。 时间复杂度:O(n) (3n 遍历-出栈-遍历) 空间复杂度:O(n) (一个栈) 2.快慢指针,要注意边界值的处理。 时间复杂度:O(n) 空间复杂度:O(1)只额外需要一个指针的空间。
阅读全文
摘要:一道简单分治题 题目描述 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 先模拟一下 n = 1 res = 1 n = 2 res = 2 n = 3 res = 3 n = 4 res = 5 ... 可以看出 r
阅读全文
摘要:简单二分(折半查找) 二分算法复杂度:O(log2n) 测试用例:
阅读全文
摘要:在此之前,我没有了解过红黑树以及AVL tree,真是孤陋寡闻。如果你也在学习的话,我们一起进步。 如果,你很急,那么只看红色加粗即可。 1.红黑树(RB-tree) 红黑树是一种特殊的二叉搜索树,特殊在它的性质。它是SGI STL(gcc编译器使用)唯一实现的搜寻树,作为关联式容器(至少有set,
阅读全文
摘要:HDU-2018题/*有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?Input输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0<n<55),n的含义如题目中描述。n=0表示输入数据的结束,不做处理。
阅读全文

浙公网安备 33010602011771号