随笔分类 -  数据结构和算法

Dubbo源码分析之XML的Bean解析
摘要:本地暴露的代码是基于 .2.7.0 前面介绍了dubbo的扩展机制 ,接下来,看下Dubbo是如何加载xml中的bean。 我门可以看到Dubbo的通常是这样子配置的,这个XMl的xsd是dubbo自己定义的。从源码里可以看到有个名字叫dubbo.xsd的文件, ,解析xml的是要在Resource 阅读全文

posted @ 2018-10-31 12:39 xjz1842 阅读(750) 评论(0) 推荐(0)

学习堆排序
摘要:首先,看一下堆的定义; n个元素的序列{k1,k2,…,kn}当且仅当满足下列关系之一时,称之为堆。 情形1:ki <= k2i 且ki <= k2i+1 (最小化堆或小顶堆) 情形2:ki >= k2i 且ki >= k2i+1 (最大化堆或大顶堆) 其中i=1,2,…,n/2向下取整; 该排序的 阅读全文

posted @ 2016-11-24 12:03 xjz1842 阅读(331) 评论(0) 推荐(0)

学习希尔排序
摘要:该方法的基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序然后依次缩减增量再进行排序,待整个序列中的元素基本有序时,再对全体元素进行一次直接插入排序。因为直接插入排序在元素基本有序的情况下(接近最好情况),效率是很高的,因此希尔排序在时间效率上比前两种方法有较大提高。 希尔排序使用序列 h1,h2,.....hn,叫做增量排序,假设hk... 阅读全文

posted @ 2016-11-23 16:47 xjz1842 阅读(172) 评论(0) 推荐(0)

动态规划求解0-1背包问题
摘要:0-1背包问题是: 一个背包能承受的最大容量为max_weight, 现在有n个物品, 它们的重量分别是{w1,w2,w3,......wn}, 和价值分别是{v1,v2,......vn}, 现在要求在满足背包装载的物品不超过最大容量的前提下,保证装载的物品的价值最大? 动态规划求解过程可以这样理 阅读全文

posted @ 2016-10-24 18:53 xjz1842 阅读(424) 评论(0) 推荐(0)

学习归并排序
摘要:归并排序,也是基于分治的思想,把一个数组不断切分,直到分到尾一个元素,然后两两合并,由于从一个元素开始的,所以这样每个合并的数组都是有序的, 合并只需要常数的时间完成,所以它的时间递推式为 :T(n) = 2T(n/2) + O(n), 前一项是分为两个子数组的时间复杂度,后面一项是合并两个排序好的 阅读全文

posted @ 2016-10-24 18:33 xjz1842 阅读(182) 评论(0) 推荐(0)

回溯法求解集合的全排列
摘要:回溯法: 分为迭代回归和递归回归,一个集合{1,2,3,4,5},那么它的全排列,是{1,2,3,4,5},{1,2,3,5,4}....., 共有 5!=120种。对回溯法控制流程的抽象描述。每个解都在X(1:n)中生成一个解,一经确定就立即输出。在X(l),…,X(k-l)已被选定的情况下,T( 阅读全文

posted @ 2016-10-24 18:12 xjz1842 阅读(2351) 评论(0) 推荐(0)

学习快速排序和二分查找算法
摘要:1. 快速排序的思想采用的是分治算法实现,从头选择一个元素是作为“哨兵元素”,然后从尾部开始寻找一个比“哨兵元素“小的元素,然后跟它交换,接着从头开始寻找比“哨兵元素“大的;元素,然后交换,直到“哨兵元素“的左边都“哨兵元素“小,右边都比“哨兵元素“大为止,这算是一次划分,快速排序是要经过的 k-1 阅读全文

posted @ 2016-10-15 17:23 xjz1842 阅读(3736) 评论(0) 推荐(0)

导航