- 博客(8)
- 资源 (5)
- 收藏
- 关注
原创 数据结构基础
一、基本概念 数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。记为:Data_Structure=(D,R) 其中D是数据元素的集合,R是该集合中所有元素之间的关系的有限集合。 数据结构具体指同一类数据元素中,各元素之间的相互关系,包括三个组成成分,数据的逻辑结构,数据的存储结构和数据运算结构。二、数据的逻辑结构
2017-05-18 17:21:09 215
原创 归并排序
思路: 将存有较多数据的数组,拆分成两个数组,分别排序后,将有序的两个数组合并。合并前递归拆分的过程,直至只有一个元素后,逐级合并。实现: package com.test;/** * 归并排序 * @author xurongsheng * @date 2017年4月14日 上午11:22:25 * */public class
2017-04-14 16:02:20 155
原创 快速排序
1. 划分 划分是快速排序的根本机制。划分就是 将一个数组按照指定的值,划分为两部分。左侧小于指定值,右侧大于指定值。 思路:定义一个枢纽值,将指针定位到数组的两侧,相向移动。左侧指针遇到 应在右侧部分的项(即:数据项的值大于枢纽值)时停止,右侧指针遇到 应在左侧部分的项(即:数据项的值小于枢纽值)时停止,交换两个项的位置,重复这一过程,直至两个指针交错而过。
2017-04-13 15:35:14 180
原创 希尔排序
希尔排序 思路:希尔排序是基于插入排序,针对插入排序中 较小的值 很靠右时,交换次数很多的问题。通过 在元素之间增加间隔,先排序间隔项,最后在执行插入排序(实际上也就是间隔为1的排序)。 例如:增量间隔为4时, 先排序位置再 0、 4、8、12...的数,在排序 1、5、8、13的数,以此类推。结束以后,执行增量间隔为1的排序时,
2017-04-13 13:56:17 237
原创 Java线程与内存模型
一、概述: 多任务处理的出现,最直接的原因是 客户端同时执行多项任务,提供效率。相对于计算机来说一个客观的原因就是 计算机的运算速度与它的存储和通信子系统速度差距太大。 在通信/数据库访问时的空闲时间中执行其他任务,就可以有效的挖掘计算机的处理能力,但这不是一定的,因为切换线程需要保持上下文的状态,这个消耗并不见得比等待时间短。这就需要有个 线程的
2016-08-19 14:10:36 361
原创 Java内存分配策略与垃圾收集器
垃圾回收的第一个步骤就是查找可回收对象实例,即不可能再被任何途径使用的对象。算法有 引用计数算法和可达性分析算法。 1. 引用计数算法 为每个对象添加一个引用计数器,每当有一个地方引用它,计数值加1;引用失效时,计数值减1.计数器为0时,对象不可能再被使用。 优势: 实现简单,判定效率高。
2016-07-26 15:40:49 260
深入理解ElasticSearch(带完整书签)
2017-12-28
Java并发编程实战 (带完整书签)
2017-08-11
jeecms7.0源码
2015-11-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人