![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构和算法
文章平均质量分 76
清晨Feelter
Java 互联网
展开
-
二分查找
二分查找===================================================1、原理将数组以中间值为中心,一分为二;要找的值--等于中间值则直接返回;小于中间值,则从中间值左边找;大于中间值,则从中间值右边找;循环直到找到要找的值为止。前提:二分查找的前提是需要查找的数组必须是已排序的,我们这里的实现默认为升序。2、java代码实现原创 2016-04-22 18:18:05 · 355 阅读 · 0 评论 -
冒泡排序
冒泡排序(Bubble Sort)是一种简单的排序算法。 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为最小(或最大)的元素会经由交换慢慢“浮”到数列的顶端。以"由小到大"排序为例:冒泡排序算法的运作如下:比较相邻的元素。如果原创 2016-04-20 15:49:16 · 377 阅读 · 0 评论 -
Tree
树1.二叉树==========================================================二叉树就是每个结点最多有两个子树的树形存储结构*******二叉树的遍历*******前序遍历:根节点->左子树->右子树中序遍历:左子树->根节点->右子树后序遍历:左子树->右子树->根节点注意:前、中、后是以根节点为基准,也称为前根遍原创 2016-12-02 18:06:53 · 330 阅读 · 0 评论 -
插入排序
插入排序1.原理插入排序的思想就是从数组的第二个元素开始,将数组中的每一个元素按照规则插入到已排好序的数组中以达到排序的目的.一般情况下将数组的第一个元素作为起始元素,从第二个元素开始依次插入.由于要插入到的数组是已经排好序的,所以只是要从右向左找到比待插入值小(对升序而言)的第一个数组元素就插入到其后面.直到将最后一个数组元素插入到数组中,整个排序过程就算完成.2.jav原创 2016-04-23 23:21:47 · 335 阅读 · 0 评论 -
java之--HashTable
java之--HashTable===========================================和HashMap相似,数组+链表结构public class Hashtable extends Dictionary implements Map, Cloneable, java.io.Serializable { //The hash ta原创 2016-12-13 11:39:20 · 387 阅读 · 0 评论 -
Java之--ArrayList、LinkedList
一、ArrayList动态数组列表====================================================public class ArrayList extends AbstractList implements List, RandomAccess, Cloneable, java.io.Serializable{原创 2016-12-08 11:16:19 · 302 阅读 · 0 评论 -
HashMap扩容机制、线程安全
0.数组、链表 Java中,ArrayList、LinkedList就是分别用数组和链表做内部实现的。 数组将元素在内存中连续存放,由于每个元素占用内存大小相同,可以通过下标迅速访问数组中任何元素。但是如果要在数组中增加一个元素,需要移动大量元素,在内存中空出一个元素的空间,然后将要增加的元素放在其中。同样的道理,如果想删除一个元素,同样需要移动大量元素去填掉被移动的元素。如原创 2016-03-18 20:07:10 · 27063 阅读 · 5 评论 -
希尔排序(Shell)
希尔排序(Shell)======================================================先取一个小于n(n为元素个数)的整数d1作为第一个增量,所有距离为dl的倍数的记录放在同一个组中,这样全部记录就分成了d1个组,先在各组内进行直接插入排序,@;然后,取第二个增量d2(d2即所有记录放在同一组中进行直接插入排序为止。该原创 2016-12-09 15:21:11 · 342 阅读 · 0 评论 -
Java位运算
位运算==============& 按位与| 按位或 ^ 按位异或~ 取反>> 右移位操作符 描述原创 2016-12-06 14:25:11 · 287 阅读 · 0 评论