随笔分类 - 数据结构和算法
摘要:public class Quick { /**主方法*/ public static void main(String[] args) { //声明数组 int[] nums = {27, 8, 100, 9, 23, 41, 65, 19,3,6, 0, 1, 2, 4, 5}; //应用快速排序方法 quickSort(nums, 0, nums...
阅读全文
摘要:归并操作 编辑 归并操作 归并操作(merge),也叫归并算法,指的是将两个顺序序列合并成一个顺序序列的方法。 如 设有数列{6,202,100,301,38,8,1} 初始状态:6,202,100,301,38,8,1 第一次归并后:{6,202},{100,301},{8,38},{1},比较次
阅读全文
摘要:希尔排序的实质就是分组插入排序,该方法又称缩小增量排序,因DL.Shell于1959年提出而得名。 该方法的基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进
阅读全文
摘要:/** * 直接插入排序 * @author TMAC-J * 思路:详情见百度百科,解释的很清楚 * 这里没有对向后移动做优化,有兴趣的可以自己做做 * */ public class InsertSort { private int[] array; public InsertSort(int[] array) { this.array...
阅读全文
摘要:/** * 直接插入排序 * @author TMAC-J * 默认按照从小到大的顺序排列 * 思路:从所有数中选取一个最小的数,用来和第一个数交换,然后再从剩下的数中选取一个最小的数 * 用来和第二个数交换,重复此操作 * */ public class InsertSort { private int[] array; public InsertSo...
阅读全文
摘要:算法稳定性 算法稳定性 冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间。所以,如果两个元素相等,我想你是不会再无聊地把他们俩交换一下的;如果两个相等的元素没有相邻,那么即使通过前面的两两交换把两个相邻起来,这时候也不会交换,所以相同元素的前后顺
阅读全文
摘要:图形数据结构主要研究形状和图形数据元素之间的关系,它主要谈论几何形体在计算机内部的表示以及期间进行运算的基本方法。“算法+数据结构=程序”来说明数据结构在程序设计中所占的重要位置。
阅读全文
摘要:平衡二叉树(Balanced Binary Tree)又被称为AVL树(有别于AVL算法),且具有以下性质:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。平衡二叉树的常用实现方法有红黑树、AVL、替罪羊树、Treap、伸展树等。 最小二叉平衡树的节点的
阅读全文
摘要:二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。
阅读全文
摘要:刚才把单链表写完了,现在又把双链表写了,双链表和单链表的区别就是每个节点有prior和next两个指针,不同于单链表的一个next指针,而且,正是因为有这两个指针,所以双链表可以前后两个方向去移动指针, 同时,我所实现的双链表和单链表不同之处在于,主要体现在其不用每次都把指针从头结点开始遍历,而是根
阅读全文
摘要:单链表 插入成功!插入成功!插入成功!插入成功!插入成功!插入成功!修改成功!com.voole.linkedlist.Node@7cb8f891com.voole.linkedlist.Node@7cb8f891 以上就是java代码实现单链表的过程,注意,单链表的效率其实是很低的,读者看代码也可
阅读全文
摘要:最近都在研究数据结构,关于hashtable,或者叫做散列表,过去一直不了解是什么东西,现在终于明白了。 所谓hashtable,就是某组key,通过某个关系(函数),得到一个与之对应的映射值(在计算机中一般是地址),而且这组映射值最好是连续的,并且是有限的,将key和value写成表的形式,就是h
阅读全文
摘要:这几天在老家有点事,现在弄完了,继续研究一下数据结构,这次的栈并没有对多线程进行优化,如果有想优化的童鞋可以参考我上一篇文章对队列进行的优化,话不多说,上代码: package com.voole.cn; public class Test { public static void main(Str
阅读全文
摘要:public Object getQueunHead(){ return array[(front+1)%queunSize]; } 现在在实习,每天也就改改bug,利用闲暇时间,研究一下数据结构,收货还是蛮大的,这是队列的优化java代码实现方式。如果还有什么想要了解的,可以参考一下http://
阅读全文
摘要:一、 /** * 直接插入排序 * @author TMAC-J * */public class InsertSort { private int[] array; public InsertSort(int[] array) { this.array = array; } /** * 按从小到大
阅读全文

浙公网安备 33010602011771号