随笔分类 -  算法

1 2 下一页

摘要:递推方程: 0, i = 0 or j = 0 C[i,j] = C[i-1,j-1] + 1, i,j > 0 and Xi = Yj max{C[i-1,j],C[i,j-1]}, i,j > 0 and Xi != Yj 使用二维int[][]辅助存储过程 Xn串和Ym串,从后往前看,如果Xn 阅读全文

posted @ 2017-08-12 19:16 zawjdbb 阅读(136) 评论(0) 推荐(0)

摘要:用堆解决TopK问题: 找最大K个用小顶堆/最小K个用大顶堆: 长度为K的数组,存入K个数据,建立小顶堆 依次从K+1往后和堆顶比较,小于则pass,大于则替换并重新建立小顶堆 最终堆中K个元素即是要找的TopK 分布在不同电脑中: 同一种数据只出现在一台电脑中:比正常多用一次TopK方法 同一种元 阅读全文

posted @ 2017-08-10 17:13 zawjdbb 阅读(113) 评论(0) 推荐(0)

摘要:红黑树,一种特殊的二叉查找树,他的的五个性质: 每个结点要么是红的,要么是黑的。 根结点是黑的。 每个叶结点,即空结点(NIL)是黑的。 如果一个结点是红的,那么它的俩个儿子都是黑的。 对每个结点,从该结点到其子孙结点的所有路径上包含相同数目的黑结点。 定理:一棵含有n个节点的红黑树的高度至多为2l 阅读全文

posted @ 2017-08-01 19:39 zawjdbb 阅读(154) 评论(0) 推荐(0)

摘要:定义两个指针: 有固定数列则一个指向最小一个指向最大,然后根据情况处理 数列未定,则都放开头,然后根据情况处理 阅读全文

posted @ 2017-07-31 22:29 zawjdbb 阅读(178) 评论(0) 推荐(0)

摘要:递归,注意还原,注意从当前字符开始,即i=frompublic static void permutation(char[] ch, int from, int to){ if(to <= from){ System.out.println(String.valueOf(ch)); } else{ 阅读全文

posted @ 2017-07-31 18:16 zawjdbb 阅读(137) 评论(0) 推荐(0)

摘要:包含min函数:用辅助栈,压入时同时压入辅助栈,如果比辅助栈顶小,否则辅助栈压入前一个最小值 压入序列和弹出序列:根据弹出序列顺序进行压入,直到压入对应的并弹出,全部压入还没有找到对应弹出,则说明不符合 阅读全文

posted @ 2017-07-30 20:07 zawjdbb 阅读(85) 评论(0) 推荐(0)

摘要:倒数第k个节点:维护两个指针,两个指针相差k步 反转链表:维护三个指针,分别指向当前节点,前一个节点,后一个节点 合并两格链表:维护两个指针,分别指向两个链表遍历 阅读全文

posted @ 2017-07-30 19:21 zawjdbb 阅读(81) 评论(0) 推荐(0)

摘要:fn = f(n-1)+f(n-2) 就是斐波那契数列 阅读全文

posted @ 2017-07-30 15:54 zawjdbb 阅读(502) 评论(0) 推荐(0)

摘要:前序遍历:先根节点后左节点再右节点。 序列化:保证每个节点都有左右子节点,没有的用null代替,然后前序遍历 中序遍历:先左节点后根节点再右节点 后续遍历:先左节点后右节点再根节点 重建二叉树:前序+中序 根据前序确定根节点,根据中序确认左右子节点,然后递归 宽度优先遍历:利用队列先进先出 二叉搜索 阅读全文

posted @ 2017-07-30 15:53 zawjdbb 阅读(110) 评论(0) 推荐(0)

摘要:速度仅次于快排,为稳定排序算法,一般用于对总体无序,但是各子项相对有序的数列 阅读全文

posted @ 2017-07-27 15:42 zawjdbb 阅读(349) 评论(0) 推荐(0)

摘要:八皇后,匈牙利 阅读全文

posted @ 2017-07-07 18:37 zawjdbb 阅读(101) 评论(0) 推荐(0)

摘要:1564654 阅读全文

posted @ 2017-07-07 10:41 zawjdbb 阅读(210) 评论(0) 推荐(0)

摘要:N*M个方格,每格有一定苹果,从左上角开始,能捡到多少苹果 S[i][j] = A[i][j] + max{S[i][j-1],S[i-1][j]} 注意边界条件 并打印路径: 阅读全文

posted @ 2017-07-06 20:13 zawjdbb 阅读(174) 评论(0) 推荐(0)

摘要:N个节点,有一些带权边,去从节点1到节点N的最短路径 f(i) = min{f(j) + Vij} j为小于i的节点且必须和1,i联通 阅读全文

posted @ 2017-07-06 20:02 zawjdbb 阅读(161) 评论(0) 推荐(0)

摘要:1,3,5元三种硬币,凑11元最少要几个 f(i) = min{f(i-1)+1,f(i-3)+1,f(i-5)+1} 阅读全文

posted @ 2017-07-06 19:40 zawjdbb 阅读(316) 评论(0) 推荐(0)

摘要:左边的都小于key,右边的都大于等于keyjava实现: import java.util.*;public class Quick_Sort { public static void main(String[] args) { List<Integer> list = new ArrayList< 阅读全文

posted @ 2017-07-06 11:02 zawjdbb 阅读(148) 评论(0) 推荐(0)

摘要:f(i,j) = max{f(i-1,j-Wi)+Vi, f(i-1,j)} (j>=Wi) 阅读全文

posted @ 2017-07-05 20:53 zawjdbb 阅读(68) 评论(0) 推荐(0)

摘要:int[] arr = data[];int[] fInc = new int[n];fInc[0] = 1;for(int i = 1; i < n; i++){ fInc[i] = 1; for(int j = 0; j < i; j++){ if(arr[i] > arr[j] && fInc 阅读全文

posted @ 2017-07-05 16:28 zawjdbb 阅读(174) 评论(0) 推荐(0)

摘要:普通:从2到n-1看能不能被整除 文艺:从2到Math.Sqrt(n)看能不能整除 高大:(埃拉托色尼筛选法)例100以内质数 取2,并去掉所有2的倍数 取3,并去掉所有3的倍数 取5,并去掉所有5的倍数 取7,并去掉所有7的倍数 因为100以内所有合数,必定有小于Math.Sqrt(100)的引子 阅读全文

posted @ 2017-06-26 21:35 zawjdbb 阅读(139) 评论(0) 推荐(0)

摘要://二元选择排序//待优化function binarySelect_sort(array){ var arr = array.concat(); var len = arr.length; for(var i = 0; i < len/2; i++){ var max = i; var min = 阅读全文

posted @ 2017-04-13 13:55 zawjdbb 阅读(677) 评论(0) 推荐(0)

1 2 下一页

导航