数据结构
wickedvalley
好记性不如烂笔头
展开
-
数据结构学习之路-第一章:绪论
出处:http://blog.csdn.net/libin1105/article/details/47935379正如很多专业教材一样,绪论是少不了的,自然这本书也不例外。绪论中概括了我们整本书所将要学习的内容,也就是数据结构这本书所探寻的几大重点:集合,线性表,树,森林,图。很多理论的东西,书本已经解释的很详细了,我在这里就不必再多废话了。我只讲一些自己的看转载 2016-07-13 13:09:29 · 408 阅读 · 0 评论 -
程序员必知的8大排序(三)-------冒泡排序,快速排序(java实现)
转载:http://blog.csdn.net/pzhtpf/article/details/75602945.冒泡排序(1)基本思想:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。(2)实例:(3)用Jav转载 2016-11-24 10:23:21 · 753 阅读 · 0 评论 -
程序员必知的8大排序(四)-------归并排序,基数排序(java实现)
转载:http://blog.csdn.net/pzhtpf/article/details/7560312 7、归并排序 (1)基本排序:归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。(2)实例:(3)用Java实现转载 2016-11-24 10:30:56 · 290 阅读 · 0 评论 -
java中常用的几种排序算法--常见笔试面试
转载:http://blog.csdn.net/ygc87/article/details/7208082以下列出Java中常用的几种排序算法,只是简单实现了排序的功能,还有待改进,望指教(以下均假设数组的长度为n):1)冒泡排序:依次比较相邻的两个元素,通过一次比较把未排序序列中最大(或最小)的元素放置在未排序序列的末尾。 [java] vie转载 2017-02-08 17:19:28 · 452 阅读 · 0 评论 -
一遍记住Java常用的八种排序算法与代码实现
来自:http://www.jianshu.com/p/5e171281a3871.直接插入排序经常碰到这样一类排序问题:把新的数据插入到已经排好的数据列中。将第一个数和第二个数排序,然后构成一个有序序列将第三个数插入进去,构成一个新的有序序列。对第四个数、第五个数……直到最后一个数,重复第二步。![Uploading Paste_Image_93799转载 2017-03-14 22:28:37 · 232 阅读 · 0 评论 -
图的存储以及深度优先以及广度优先遍历
转载自:http://blog.csdn.net/gamer_gyt/article/details/51498546一:图的分类1:无向图 即两个顶点之间没有明确的指向关系,只有一条边相连,例如,A顶点和B顶点之间可以表示为 也可以表示为,如下所示 2:有向图 顶点之间是有转载 2017-06-04 19:21:18 · 961 阅读 · 0 评论 -
java 图的邻接矩阵表示,深度优先遍历,广度优先遍历
转载:http://blog.csdn.net/yxmmao/article/details/515865401 . 创建图的邻接矩阵数据结构public class MGraph { /*图的邻接矩阵表示*/ int vexs; //图中结点数目 char data[]; //存放结点数据 int [][]weight; //存放边转载 2017-06-04 21:54:00 · 935 阅读 · 0 评论 -
动态规划---实现输出最大公共子序列的长度以及输出最大子字符串(java语言描述)
参考博客地址:http://blog.csdn.NET/biangren/article/details/8038605http://blog.csdn.net/njr465167967/article/details/51675424动态规划法 分治法是指将问题划分成一些独立的子问题,递归地求解各子问题,然后合并子问题的解而得到原问题的解。然而经常会遇到复杂问翻译 2017-06-06 16:01:31 · 840 阅读 · 0 评论 -
一篇文章搞定面试中的二叉树题目(java实现)
转载:http://www.jianshu.com/p/0190985635eb最近总结了一些数据结构和算法相关的题目,这是第一篇文章,关于二叉树的。先上二叉树的数据结构:class TreeNode{ int val; //左孩子 TreeNode left; //右孩子 TreeNode right;}二叉树的题目普遍可以用转载 2017-06-02 11:18:36 · 927 阅读 · 0 评论 -
序列化以及反序列化二叉树
有些问题需要把二叉树序列化,可用于传输或者保存等,当然,有些题目也需要你去序列化以及反序列化,你懂的!二叉树的定义如下:package com.hbut.bean;public class TreeNode { private TreeNode left; private TreeNode right; private int val; public TreeNode(int val...原创 2017-06-03 19:30:31 · 352 阅读 · 0 评论 -
程序员必知的8大排序(二)-------简单选择排序,堆排序(java实现)
转载:http://blog.csdn.net/pzhtpf/article/details/75599433.简单选择排序(1)基本思想:在要排序的一组数中,选出最小的一个数与第一个位置的数交换;然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环到倒数第二个数和最后一个数比较为止。(2)实例:(3)用Java实现转载 2016-11-24 10:21:04 · 372 阅读 · 0 评论 -
二分查找的实现---java版本
/** * @author Administrator *二分查找法: * 特点: * 1.该数组是已经排好序的 * 2.效率还是比较高的 */public class BinSearch { //{2,3,4,5,7} 6 public static int binSearch(int [] arr ,int key){ int start =0; int原创 2016-11-23 22:48:16 · 282 阅读 · 0 评论 -
数据结构(三)---双向循环链表的实现---java版
节点设置package com.cn.hbut.domain;/** * @author Administrator * 双向循环链表的节点设置 */public class DNode {//节点,前驱与后继DNode prior,next;//数据Object data;public DNode(DNode prior, DNode next原创 2016-11-05 11:38:36 · 517 阅读 · 0 评论 -
数据结构(四)---栈的顺序存储的实现---java版
--------------------------------------------------------------------------栈的接口定义--------------------------------------------package com.cn.hbut.dao;/** * @author Administrator * descriptio原创 2016-11-05 12:33:42 · 423 阅读 · 0 评论 -
数据结构(五)---栈的链式存储的实现---java版
------------------------------------------------链栈的节点设置--------------------------------------------------package com.cn.hbut.domain;//节点设置,适用于普通的单链表的节点设置,也适用于链栈的节点设置 public cl原创 2016-11-05 20:04:56 · 427 阅读 · 0 评论 -
数据结构(一)---顺序表的实现---java版
----------顺序表的方法接口定义----------package com.cn.hbut.dao;/** * @author wickedvalley * description: * 线性表的接口定义 */public interface DefineList {public void clear();//初始化public Object g原创 2016-10-29 19:59:23 · 348 阅读 · 0 评论 -
数据结构(六)---队列的链式存储的实现---java版
---------------------------------------------节点设置------------------------------------package com.cn.hbut.domain;//节点设置 public class Node {Object data;Node next;//初始化一个数据域原创 2016-11-16 18:32:07 · 326 阅读 · 0 评论 -
数据结构(七)---循环队列的实现---java版
---------------------------------------------接口定义----------------------------------package com.cn.hbut.dao;public interface Queue {public void clear();public int length();public boolean原创 2016-11-16 20:50:48 · 488 阅读 · 0 评论 -
数据结构之二分插入排序------java实现
package com.cn.hbut.daoImpl;/** * @author Administrator * 直接插入排序 * */public class InsertSort { //直接插入排序 //{3 2 1 5 6} //{2 3 1 5 6} public static void insertSort(int [] arr){ for(int i=1;原创 2016-11-30 12:31:57 · 378 阅读 · 0 评论 -
数据结构(二)---单链表的实现---java版
package com.cn.hbut.domain;//节点设置public class Node {Object data;Node next;//初始化一个数据域以及next域均为null的节点public Node() {this.data=null;this.next=null;}//生成元素为obj,引用值为n的新节点public Nod原创 2016-11-02 17:16:13 · 331 阅读 · 0 评论 -
数据结构之希尔排序------java实现
//希尔排序 //思想:需要分组,对每组用插入排序 public void shellSort(int [] arr){ int i,j,gap; int temp; gap=arr.length/2; while(gap>0){ for(i=gap;i<arr.length;i++){ temp =arr[i]; j=i-gap; while(j原创 2016-11-30 15:19:39 · 512 阅读 · 0 评论 -
平衡二叉树 构造方法
转载:http://blog.csdn.net/zhuyingqingfen/article/details/6530434平衡二叉树对于二叉查找树,尽管查找、插入及删除操作的平均运行时间为O(logn),但是它们的最差运行时间都是O(n),原因在于对树的形状没有限制。平衡二叉树又称为AVL树,它或者是一棵空树,或者是有下列性质的二叉树:它的左子树和转载 2016-11-23 17:29:03 · 2427 阅读 · 1 评论 -
二叉树的遍历java版本
如上图所示是一棵常见的二叉树原创 2017-02-26 13:00:19 · 382 阅读 · 0 评论