E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Java数据结构和算法
java数据结构和算法
08(B树的简单原理)
这一篇首先会说说前面剩余的一点知识2-3树,然后简单说说B树,不写代码,只是简单看看原理吧!为什么要说一下2-3树呢?了解2-3树之后能更快的了解B树;1.简单看看2-3树其实我们学过了前面的2-3-4树之后,再看2-3树就太容易了,2-3树中任意一个节点最多只有三个子节点,而且节点中只有两个空位置可以存数据;除了分裂,其他的都和2-3-4树一样的,就不多说了,下面我们就随意看看节点分裂吧!首先要
java小新人
·
2019-05-19 10:00
java数据结构和算法
07(2-3-4树)
上一篇我们大概了解了红黑树到底是个什么鬼,这篇我们可以看看另外一种树-----2-3-4树,看这个树的名字就觉得很奇怪。。。。我们首先要知道这里的2、3、4指的是任意一个节点拥有的子节点个数,所以我们就大概知道2-3-4树中的每一个节点应该最多有四个子节点;注意:2-3-4树中的任意一个节点不能只有一个子节点,应该只有几种情况:0、2、3、4有个东西一直忘记说了,就是那个大O表示法,或者叫做时间复
java小新人
·
2019-05-15 17:00
java数据结构和算法
06(红黑树)
这一篇我们来看看红黑树,首先说一下我啃红黑树的一点想法,刚开始的时候比较蒙,what?这到底是什么鬼啊?还有这种操作?有好久的时间我都缓不过来,直到我玩了两把王者之后回头一看,好像有点儿意思,所以有的时候碰到一个问题困扰了很久可以先让自己的头脑放松一下,哈哈!不瞎扯咳,开始今天的正题;前提:看红黑树之前一定要先会搜索二叉树1.红黑树的概念红黑树到底是个什么鬼呢?我最开始也在想这个问题,你说前面的搜
java小新人
·
2019-05-10 22:00
java数据结构和算法
05(二叉树)
对于树这个数据结构,第一次看到这个树肯定是一脸蒙逼,玛德,树?种树的那个树么?哈哈哈,当然不是,前面我们说过数组添加、删除数据很慢,查询数据很快;而链表添加、删除数据很快,但是查找数据很慢,我们就想啊,有没有一种数据结构取二者之精华,那不就是一个添加,删除,查询都很快的数据结构吗?那用起来多舒服啊!这个取二者之精华的数据结构就是树(tree),而且随着各种大佬对树这种结构的改进,就有了很多种树,常
java小新人
·
2019-05-04 16:00
java数据结构和算法
04(链表)
前面我们看了数组,栈和队列,大概就会这些数据结构有了一些基本的认识,首先回顾一下之前的东西;在数组中,其实是分为有序数组和无序数组,我简单实现了无序数组,为什么呢?因为有序数组的实现就是将无序数组进行排序就可以了!后面我想把所有排序给弄在一起说说,而且有序数组这里的序我认为是排序的序,而不是顺序的序,在有序数组中,对插入的数据会进行一种排序,让数组中的元素以一种我们规定的顺序排列,所以插入数据一般
java小新人
·
2019-05-03 09:00
java数据结构和算法
03(队列和优先级队列)
什么是队列呢?其实队列跟栈很像,我们可以把栈的底部给弄开,这样数据就可以从下面漏出来了,我们就从下面拿就好了。可以看到队列是新进先出,就跟我们显示生活中的排队一样,买火车票,飞机票等一样,先去的肯定是先上车;但是数据在出来的时候,难道我们要把上面所有的数据都往下移动一个位置吗?我们知道假如一个队列非常大,里面的数据量很多的时候我们这种要把所有的数据都移动一个位置这种行为是很坑爹的,于是我们想着用两
java小新人
·
2019-04-30 11:00
java数据结构和算法
02(栈)
什么叫做栈(Stack)呢?这里的栈和jvm的java栈可不是一个东西。。。栈作为一种数据结构,我感觉栈就类似一种接口,实现的话有很多种,比如用数组、集合、链表都可以实现栈的功能,栈最大的特点就是先进后出,可以想象一下放羽毛球的盒子怎么放进羽毛球和拿出来羽毛球,我们把放进羽毛球的动作就叫做压栈或者入栈(push),拿出羽毛球的动作就叫做弹栈或出栈(pop)其实在java中已经有个栈的实现了,就是S
java小新人
·
2019-04-29 20:00
java数据结构和算法
01(数组的简单使用)
一直都对这一块没有什么想法,加上不怎么理解,只是懂个大概;最近突然感觉对数据结构和算法这块有点儿兴趣,决定还是尽量详细的看看这些结构和算法;话说什么事数据结构和算法呢?现在我也说不上来,等我学的差不多了再来总结吧!我随意借了一张图,所谓的数据结构就是下面这些,我们一个一个的慢慢看(玛德,好多。。。)1.数组的基本用法对于数组应该很熟悉了,最开始学完java八种基本类型之后下一个就是学的数组,数组最
java小新人
·
2019-04-29 10:00
IT书籍书目及下载链接
带目录书签)提取码:qo352、深入Java虚拟机(原书第二版清晰版)提取码:37y33、Java核心技术卷1基础知识原书第9版提取码:jjgi4、EffectiveJava中文版第2版提取码:acr45、
Java
dh1027-远征君
·
2019-04-16 10:51
书籍数目下载链接
编程书籍
私房菜基础学习篇(第三版)了解Linux系统及相关命令,站在实际使用的角度写的简单明了Java编程思想(第四版,PDF+纸质)刚编程的时候看不出有什么特别的,代码写多了觉得写得特别细致准确,大牛的功力果然深厚
Java
dabing4455
·
2019-03-24 07:47
Java开发
(
Java数据结构和算法
)拓扑排序
参考博文拓扑排序publicclassMain{publicstaticvoidmain(String[]args){System.out.println("请输入一个图的邻接矩阵(8X8):");int[][]map=newint[8][8];int[]inDegree=newint[8];for(inti=0;i<8;i++){inDegree[i]=0;}java.util.Scanners
ccnuacmhdu
·
2018-11-24 23:00
(
Java数据结构和算法
)希尔排序+快速排序
希尔排序每隔一定间隔组成一个序列,对这个序列进行排序。逐渐缩短间隔,最后一次间隔必定是1。间隔的变化可以自行确定,书中介绍了h=3*h+1的变化策略。publicclassMain{publicstaticvoidmain(String[]args){int[]a={2,3,9,1,66,4};shellSort(a);print(a);}publicstaticvoidshellSort(int
ccnuacmhdu
·
2018-11-22 17:46
(
Java数据结构和算法
)递归---汉诺塔问题+归并排序
汉诺塔问题/**汉诺塔问题,从左到右A、B、C三个柱子,A柱子上的n个从大到小(自下而上)放置的盘子,*把这n个盘子从柱子A移到柱子C。**思路:数学归纳法的思路,A柱子上有1个盘子、2个盘子、3个盘子的情况下,做一遍找到思路。*(1)先把A柱子上的n-1个盘子,借助B柱子,移动到C柱子上。*(2)把B柱子上的n-1个盘子,借助C柱子,移动到A柱子上。*(3)重复**/publicclassMai
ccnuacmhdu
·
2018-11-22 12:11
(
Java数据结构和算法
)递归---三角数字+全排列+二分查找
三角数字问题:求解三角数字第n项。publicclassMain{publicstaticvoidmain(String[]args){System.out.println(solve(6));System.out.println(recursionSolve(6));}//常规方法求和求解三角数字第n项publicstaticintsolve(intn){intsum=0;for(inti=1;
ccnuacmhdu
·
2018-11-20 13:56
Java数据结构和算法
--二叉树
在数据结构中,对于有序数组来说查找很快,但是插入和删除慢,因为插入和删除需要先找到指定的位置,后面所有的元素都要移动一个位置,为插入腾出一个位置或补上被删除的那个位置;而对于链表来说,插入和删除快,但是查找很慢,插入和删除只要更改一下元素的引用值即可,而查找每次都要从头开始遍历直到找到目标元素为止。那么有没有一种数据结构能够同时具备查找、插入、删除都快的呢?所以有了树的诞生!树结构有很多种,我们这
十 月
·
2018-11-18 17:46
Java数据结构
Java数据结构和算法
-树
树的概念:树是数据元素之间具有次层关系的非线性的结构,树是由n(n≥0)个结点组成的有限集合,n=0的树是空树。二叉树:二叉树(BinaryTree)是n(n≥0)个结点组成的有限集合,n=0时称为空二叉树;n>0的二叉树由一个根结点和两棵互不相交、分别称为左子树和右子树的子二叉树构成,二叉树也是递归定义的,在树种定义的度、层次等术语,同样适用于二叉树。完全二叉树:对于一个具有n个结点的二叉树按层
投在断头台
·
2018-08-13 15:26
数据结构学习
JAVA数据结构和算法
——数组篇
无序数组packagetest;/***@Author:lanxuebin*@Description:无序数组容器类;假设数组不允许重复数据项*@Date:10:372018/8/9*/publicclassDisorderlyArray{//内置数组privatelong[]a;//已有数据项个数privateintnelems;/***构造初始化*@parammax数组最大容量*/public
往昔負流年
·
2018-08-09 17:07
Java数据结构和算法
-贪心和分治算法
贪心算法:贪心算法,又称贪婪算法(GreedyAlgorithm),是指在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优解出发来考虑,它所做出的仅是在某种意义上的局部最优解。贪心算法没有固定的算法框架,算法设计的关键是贪心策略的选择。必须注意的是,贪心算法不是对所有问题都能得到整体最优解。例子:背包问题有一个背包,背包容量是W=150。有7个物品,每个物品有各自的重量和价值,
投在断头台
·
2018-08-08 21:58
Java
贪心
分治
Java数据结构和算法
-动态规划
动态规划算法:动态规划算法通常基于一个递推公式及一个或多个初始状态。当前子问题的解将由上一次子问题的解推出。使用动态规划来解题只需要多项式时间复杂度,因此它比回溯法、暴力法等要快许多。例子:最长公共子序列问题Stringstr1="androdid";Stringstr2="random";最长公共子序列:ando,只考虑顺序不考虑中间是否间隔,不同于公共字符串and。该问题的递归式子可以写成:注
投在断头台
·
2018-08-08 16:51
Java数据结构和算法
-递归应用(汉诺塔、欧几里得求最大公约数、泊松分酒)
汉诺塔问题:汉诺塔问题是一个经典的问题。汉诺塔(HanoiTower),又称河内塔,源于印度一个古老传说。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,任何时候,在小圆盘上都不能放大圆盘,且在三根柱子之间一次只能移动一个圆盘。由于圆盘数64计算过于庞大,本例以圆盘数3为例子。汉
投在断头台
·
2018-08-07 10:09
Java
汉诺塔
Java数据结构和算法
-二分查找
二分查找:二分查找又称折半查找,它是一种效率较高的查找方法。二分查找要求:线性表是有序表,即表中结点按关键字有序,并且要用向量作为表的存储结构。不妨设有序表是递增有序的。二分查找递归和非递归Java实现:packagecom.algorithm.search;importcom.algorithm.sort.BasicSort;publicclassBinarySearch{publicstati
投在断头台
·
2018-08-06 10:33
Java数据结构和算法
-基数排序
基数排序:基数排序(RadixSort)是桶排序的扩展,它的基本思想是:将整数按位数切割成不同的数字,然后按每个位数分别比较。具体做法是:将所有待比较数值统一为同样的数位长度,数位较短的数前面补零。然后,从最低位开始,依次进行一次排序。这样从最低位排序一直到最高位排序完成以后,数列就变成一个有序序列。步骤:首先求出该序列最高位数,例如本例最高位百位,计数count=31.按照个位数进行排序。2.按
投在断头台
·
2018-08-05 22:39
Java数据结构和算法
-基数排序
基数排序:基数排序(RadixSort)是桶排序的扩展,它的基本思想是:将整数按位数切割成不同的数字,然后按每个位数分别比较。具体做法是:将所有待比较数值统一为同样的数位长度,数位较短的数前面补零。然后,从最低位开始,依次进行一次排序。这样从最低位排序一直到最高位排序完成以后,数列就变成一个有序序列。步骤:首先求出该序列最高位数,例如本例最高位百位,计数count=31.按照个位数进行排序。2.按
投在断头台
·
2018-08-05 22:39
Java数据结构和算法
-归并排序
归并排序:归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。可以看到这种结构很像一棵完全二叉树,本文的归并排序我们采用递归去实现(也可采用迭代的方式去实现)。分阶段可以理解为就是递
投在断头台
·
2018-08-05 18:21
Java数据结构和算法
-归并排序
归并排序:归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。可以看到这种结构很像一棵完全二叉树,本文的归并排序我们采用递归去实现(也可采用迭代的方式去实现)。分阶段可以理解为就是递
投在断头台
·
2018-08-05 18:21
Java数据结构和算法
-交换类排序(冒泡排序、快速排序)
冒泡排序:冒泡排序的基本思想是,对相邻的元素进行两两比较,顺序相反则进行交换,这样,每一趟会将最小或最大的元素“浮”到顶端,最终达到完全有序。若原数组本身就是有序的(这是最好情况),仅需n-1次比较就可完成;若是倒序,比较次数为n-1+n-2+...+1=n(n-1)/2,交换次数和比较次数等值。所以,其时间复杂度依然为O(n2)。packagecom.algorithm.sort;/***冒泡排
投在断头台
·
2018-08-05 15:04
数据结构学习
Java数据结构和算法
-交换类排序(冒泡排序、快速排序)
冒泡排序:冒泡排序的基本思想是,对相邻的元素进行两两比较,顺序相反则进行交换,这样,每一趟会将最小或最大的元素“浮”到顶端,最终达到完全有序。若原数组本身就是有序的(这是最好情况),仅需n-1次比较就可完成;若是倒序,比较次数为n-1+n-2+...+1=n(n-1)/2,交换次数和比较次数等值。所以,其时间复杂度依然为O(n2)。packagecom.algorithm.sort;/***冒泡排
投在断头台
·
2018-08-05 15:04
数据结构学习
Java数据结构和算法
-插入类排序(直接插入排序、二分法插入排序、希尔排序)
直接插入排序:直接插入排序基本思想是每一步将一个待排序的记录,插入到前面已经排好序的有序序列中去,直到插完所有元素为止。简单插入排序在最好情况下,需要比较n-1次,无需交换元素,时间复杂度为O(n);在最坏情况下,时间复杂度依然为O(n2)。packagecom.algorithm.sort;/***直接插入排序*/publicclassInsertSort{publicstaticvoidmai
投在断头台
·
2018-08-04 21:35
Java数据结构和算法
-选择类排序(简单选择排序,堆排序)
简单选择排序:每一趟从待排序的数据元素中选出最小(最大)的元素,顺序放在待排序的数列最前,直到全部待排序的数据元素全部排完。最差时间复杂度:O(n^2),最优时间复杂度:O(n^2),平均时间复杂度:O(n^2),所需辅助空间:O(1)。packagecom.algorithm.sort;importjava.util.Scanner;/***简单选择排序*/publicclassSelectSo
投在断头台
·
2018-08-04 15:06
Java
堆排序
算法
Java数据结构和算法
-队列
队列:1.概念队列同样是一种特殊的线性表,其插入和删除的操作分别在表的两端进行,队列的特点就是先进先出(FirstInFirstOut)。我们把向队列中插入元素的过程称为入队(Enqueue),删除元素的过程称为出队(Dequeue)并把允许入队的一端称为队尾,允许出的的一端称为队头,没有任何元素的队列则称为空队。按存储结构分为顺序队列和链式队列。 publicinterfaceQueue{
投在断头台
·
2018-07-28 19:01
数据结构学习
Java数据结构和算法
-队列
队列:1.概念队列同样是一种特殊的线性表,其插入和删除的操作分别在表的两端进行,队列的特点就是先进先出(FirstInFirstOut)。我们把向队列中插入元素的过程称为入队(Enqueue),删除元素的过程称为出队(Dequeue)并把允许入队的一端称为队尾,允许出的的一端称为队头,没有任何元素的队列则称为空队。按存储结构分为顺序队列和链式队列。 publicinterfaceQueue{
投在断头台
·
2018-07-28 19:01
数据结构学习
Java数据结构和算法
-栈
1.概念栈是一种用于存储数据的简单数据结构,有点类似链表或者顺序表(统称线性表),栈与线性表的最大区别是数据的存取的操作,我们可以这样认为栈(Stack)是一种特殊的线性表,其插入和删除操作只允许在线性表的一端进行,一般而言,把允许操作的一端称为栈顶(Top),不可操作的一端称为栈底(Bottom)同时把插入元素的操作称为入栈(Push),删除元素的操作称为出栈(Pop)。若栈中没有任何元素,则称
投在断头台
·
2018-07-28 19:37
数据结构学习
Java数据结构和算法
-栈
1.概念栈是一种用于存储数据的简单数据结构,有点类似链表或者顺序表(统称线性表),栈与线性表的最大区别是数据的存取的操作,我们可以这样认为栈(Stack)是一种特殊的线性表,其插入和删除操作只允许在线性表的一端进行,一般而言,把允许操作的一端称为栈顶(Top),不可操作的一端称为栈底(Bottom)同时把插入元素的操作称为入栈(Push),删除元素的操作称为出栈(Pop)。若栈中没有任何元素,则称
投在断头台
·
2018-07-28 19:37
数据结构学习
Java数据结构和算法
-图
1.概念图是一种重要的数据结构,是由顶点的有穷非空集合和顶点之间边的集合组成,由G(V,E)表示,其中G表示一个图,V是该图中顶点的集合,E是图G中边的集合。基本概念包括:顶点,边,有向,无向,权,路径回路,连通域,邻接点,度,入边,出边,入度,出度。2.存储结构两种存储结构:邻接矩阵和邻接表。邻接矩阵:邻接矩阵特征:1、邻接矩阵是正矩阵,即横纵维数相等。2、矩阵的每一行或一列代表一个顶点,行与列
投在断头台
·
2018-07-27 20:07
数据机构学习
Java数据结构和算法
-图
1.概念图是一种重要的数据结构,是由顶点的有穷非空集合和顶点之间边的集合组成,由G(V,E)表示,其中G表示一个图,V是该图中顶点的集合,E是图G中边的集合。基本概念包括:顶点,边,有向,无向,权,路径回路,连通域,邻接点,度,入边,出边,入度,出度。2.存储结构两种存储结构:邻接矩阵和邻接表。邻接矩阵:邻接矩阵特征:1、邻接矩阵是正矩阵,即横纵维数相等。2、矩阵的每一行或一列代表一个顶点,行与列
投在断头台
·
2018-07-27 20:07
数据机构学习
Java数据结构和算法
(二)——排序算法
一前言本来要写树和图,这两块内容比较复杂,所以先梳理一下常用的排序算法。二排序算法的几个概念2.1排序算法的稳定性对于排序算法的稳定性,之前看过《大话数据结构》这本书的解释,后来发现是有问题的,下面是维基百科给的定义,稳定排序算法会让原本有相等键值的纪录维持相对次序。也就是如果一个排序算法是稳定的,当有两个相等键值的纪录R和S,且在原本的列表中R出现在S之前,在排序过的列表中R也将会是在S之前。—
IIGEOywq
·
2018-06-09 22:53
Java数据结构和算法
(一)——链表、栈、队列
一前言由于做的是应用层开发,因此对数据结构理解不够透彻,有时候优化代码,或者定位问题时,往往陷入挣扎。最近在看数据结构方面的内容。现在重新过一下常用的数据结构和算法。Java集合类基本实现了所有的数据结构和算法,我这边会简单实现一些数据结构。二算法2.1算法的特性算法和数据结构是互为一体的,互利共生的。一个算法要具备以下特性:输入,输出;有穷性(如果一个算法陷入死循环,或者要计算几年时间,那就没什
IIGEOywq
·
2018-06-08 22:45
Java数据结构和算法
(七)——链表
前面博客我们在讲解数组中,知道数组作为数据存储结构有一定的缺陷。在无序数组中,搜索性能差,在有序数组中,插入效率又很低,而且这两种数组的删除效率都很低,并且数组在创建后,其大小是固定了,设置的过大会造成内存的浪费,过小又不能满足数据量的存储。本篇博客我们将讲解一种新型的数据结构——链表。我们知道数组是一种通用的数据结构,能用来实现栈、队列等很多数据结构。而链表也是一种使用广泛的通用数据结构,它也可
IT可乐
·
2018-05-31 11:38
android面试题集锦(java篇)
794481872017-2018Android-BAT-Java面试题分类:1.Java特性2.字符串String、数组、数据类型转换3.Java各方面基础4.抽象类与接口5.JVM、垃圾回收(GC)6.
Java
谷哥得小弟
·
2018-05-15 10:30
Java数据结构和算法
(十)——二叉树
接下来我们将会介绍另外一种数据结构——树。二叉树是树这种数据结构的一员,后面我们还会介绍红黑树,2-3-4树等数据结构。那么为什么要使用树?它有什么优点?前面我们介绍数组的数据结构,我们知道对于有序数组,查找很快,并介绍可以通过二分法查找,但是想要在有序数组中插入一个数据项,就必须先找到插入数据项的位置,然后将所有插入位置后面的数据项全部向后移动一位,来给新数据腾出空间,平均来讲要移动N/2次,这
YSOcean
·
2017-12-20 17:00
Java数据结构和算法
(十)——二叉树
接下来我们将会介绍另外一种数据结构——树。二叉树是树这种数据结构的一员,后面我们还会介绍红黑树,2-3-4树等数据结构。那么为什么要使用树?它有什么优点?前面我们介绍数组的数据结构,我们知道对于有序数组,查找很快,并介绍可以通过二分法查找,但是想要在有序数组中插入一个数据项,就必须先找到插入数据项的位置,然后将所有插入位置后面的数据项全部向后移动一位,来给新数据腾出空间,平均来讲要移动N/2次,这
ysvae
·
2017-12-20 17:00
Java数据结构和算法
(链表)
目录1、链表(LinkedList)2、单向链表(Single-LinkedList)①、单向链表的具体实现②、用单向链表实现栈4、双端链表①、双端链表的具体实现②、用双端链表实现队列5、抽象数据类型(ADT)6、有序链表7、有序链表和无序数组组合排序8、双向链表9、总结前面我们知道数组作为数据存储结构有一定的缺陷。在无序数组中,搜索性能差,在有序数组中,插入效率又很低,而且这两种数组的删除效率都
暮秋十九
·
2017-12-19 19:41
Java数据结构和算法
(八)——递归
记得小时候经常讲的一个故事:从前有座山,山上有座庙,庙里有一个老和尚和一个小和尚,一天,老和尚给小和尚讲了一个故事,故事内容是“从前有座山,山上有座庙,庙里有一个老和尚和一个小和尚,一天,老和尚给小和尚讲了一个故事,故事内容......”什么是递归,上面的小故事就是一个明显的递归。以编程的角度来看,程序调用自身的编程技巧称为递归(recursion)。百度百科中的解释是这样的:递归做为一种算法在程
YSOcean
·
2017-12-15 09:00
Java数据结构和算法
(四)——栈
前面我们讲解了数组,数组更多的是用来进行数据的存储,纯粹用来存储数据的数据结构,我们期望的是插入、删除和查找性能都比较好。对于无序数组,插入快,但是删除和查找都很慢,为了解决这些问题,后面我们会讲解比如二叉树、哈希表的数据结构。而本篇博客讲解的数据结构和算法更多是用作程序员的工具,它们作为构思算法的辅助工具,而不是完全的数据存储工具。这些数据结构的生命周期比数据库类型的结构要短得多,在程序执行期间
YSOcean
·
2017-12-04 11:00
Java数据结构和算法
(一)--前言
写在前面的话,话说很久以来一直下定决心好好的学数据结构和算法,视频存储了不少,九章学院的,慕课网的,普林斯顿的算法,书籍也弄了不少,可是每次都太监了,我就再想是否我太依赖别人了,没有督促的动力,而且,别人的公众号也看了不少,可是每次都看得很热闹,问自己还是啥都不会,这次,就下定决心用博客记录自己的学习经历。望大家监督。下面是我的列的学习提纲。以后的学习会按着这个思路来。一、学习主要知识1、数组、集
我干过羊_
·
2017-12-02 22:28
Java数据结构和算法
(一)——简介
本系列博客我们将学习数据结构和算法,为什么要学习数据结构和算法,这里我举个简单的例子。编程好比是一辆汽车,而数据结构和算法是汽车内部的变速箱。一个开车的人不懂变速箱的原理也是能开车的,同理一个不懂数据结构和算法的人也能编程。但是如果一个开车的人懂变速箱的原理,比如降低速度来获得更大的牵引力,或者通过降低牵引力来获得更快的行驶速度。那么爬坡时使用1档,便可以获得更大的牵引力;下坡时便使用低档限制车的
IT可乐
·
2017-11-28 09:09
Java数据结构和算法
之归并排序
正如我们所知,我们在学习数据结构和算法的时候必然逃不过有关于数组的排序方法,我们应该掌握的方法或许有很多,但是最基本或者说被公认为的八大排序是我们在不具备设计算法和更改算法的情况下应该去学习掌握的。在很久以前已经学习过用C语言进行实现,但是现在准备从事关于Java的工作,所以需要实践起来,用java进行实现。学习的基础都是在努自己动手的实践。今天实现归并排序,因为我对这个排序方法却是情有独钟,作
GoNewLife
·
2017-11-26 20:17
数据结构之数组
java数据结构和算法
java数据结构与算法写给读者的话:本人是一个刚刚毕业的程序员,大学期间数据结构学的比较扎实,来工作后发现虽然概念都知道,但是应用不是很熟练,所以打算重新撸几遍数据结构,正好在写java,这里就用java描述数据结构了;然后有几个要点:1)实践永远是检验真理的唯一标准,要想知道自己学的好不好,锻炼提升自己,就需要多多练习了,本人在工作中,都会去思考代码的优化问题,看能够有更好的办法解决;2)温故而
伟大的华仔
·
2017-11-20 13:44
java
详解
Java数据结构和算法
(有序数组和二分查找)
一、概述有序数组中常常用到二分查找,能提高查找的速度。今天,我们用顺序查找和二分查找实现数组的增删改查。二、有序数组的优缺点优点:查找速度比无序数组快多了缺点:插入时要按排序方式把后面的数据进行移动三、有序数组和无序数组共同优缺点删除数据时必须把后面的数据向前移动来填补删除项的漏洞四、代码实现publicclassOrderArray{privateintnElemes;//记录数组长度priva
临窗听雨
·
2017-09-23 16:29
Java数据结构和算法
(有序数组和二分查找)
一、概述有序数组中常常用到二分查找,能提高查找的速度。今天,我们用顺序查找和二分查找实现数组的增删改查。二、有序数组的优缺点优点:查找速度比无序数组快多了缺点:插入时要按排序方式把后面的数据进行移动三、有序数组和无序数组共同优缺点删除数据时必须把后面的数据向前移动来填补删除项的漏洞四、代码实现publicclassOrderArray{privateintnElemes;//记录数组长度priva
临窗听雨
·
2017-09-23 14:37
上一页
2
3
4
5
6
7
8
9
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他