数据结构与算法
Tgor
井底之蛙
展开
-
最优去重算法探索
最优去重算法探索标签(空格分隔): 数据结构与算法 Java-Base去重需求去重要统计最热门查询,首先就是要统计每个Query出现的次数,然后根据统计结果,找出Top 10算法设计双层遍历实现实现逻辑:遍历源数组,依次比较当前元素arr[n]与arr[n + 1]…arr[last],若相等标识重复元素,切记录唯一项到结果target。时间复杂度:循环了(n+n-1+n-2+…+1)≈(n^原创 2017-04-13 09:07:49 · 6768 阅读 · 0 评论 -
插入排序分析与Java实现
插入排序分析与Java实现标签(空格分隔): Java-Base 数据结构与算法概述插入排序的3中实现:直接插入排序二分法插入排序希尔排序直接插入排序操作:每步将一个待排序的记录,按其顺序码大小插入到前面已经排序的字序列的合适位置,直到全部插入排序完为止。 例如: array = [1,3,5,7,9,4,8],已排序区块是[1,3,5,7,9],待排序元素是4 4与1比较,原创 2017-04-13 09:09:20 · 338 阅读 · 1 评论 -
Timsort排序算法
Timsort排序算法标签(空格分隔): Java-Base 数据结构与算法算法实现原理TimSort原理:现实数据通常会有部分是已经排好序,TimSort正是利用这一点,将数组拆成多个部分已排序的分区,部分未排序分区重新排序,最后将多个分区合并并排序。例如:array[] = [24,63,70,55,41,92,81,80],排序步骤如下: 1. 拆分分区:[24,63], [70,55],原创 2017-04-13 09:10:21 · 1438 阅读 · 0 评论 -
并发--先行发生原则及案例分析
并发–先行发生原则及案例分析标签(空格分隔): Java-JVM先行发生原则 先行发生原则是判断数据是否存在竞争、线程是否安全的主要依据。程序次序规则(Program Order Rule):在一个线程内,按照程序代码顺序,书写在前面的操作先行发生于书写在后面的操作。准确地说,应该是控制流顺序而不是程序代码顺序,因为要考虑分支、循环等结构。管程锁定规则(Monitor Lock Rule):一原创 2017-04-13 09:12:35 · 928 阅读 · 1 评论