数据结构
娃娃救葫芦爷
学习编程ing
展开
-
数据结构-数组
1、数组package chap01;public class TestArray { public static void main(String[] args) { long []arr=new long[] {2,3,4}; System.out.println(arr[0]); System.out.println(arr[1]); System.out.print...原创 2019-09-08 09:08:15 · 150 阅读 · 0 评论 -
数据结构-哈希表
定义:是一种数据结构,提供了快速的插入和查找操作,是基于数组实现的,将key作为数组的索引。注:如果key是整数型,则直接作为索引,如果key是String类型 ,需要将key进行哈希化转换为整数型。package com.chb.chap15;//员工信息表public class Info { private int key; private String name; pub...原创 2019-10-04 10:13:24 · 90 阅读 · 0 评论 -
数据结构-红黑树
二叉树可以快速的插入、删除和查询随机数据,当数据是有序时,二叉树效率很低。平衡树:插入随机数据非平衡树:插入有序数据红黑规则:1.每个节点不是红色就是黑色2.根总是黑色3.如果节点是红色的,则它的子节点必须是黑色的4.从根节点到每个叶子结点的路径,必须包含相同数目的黑色节点。满足上面规则的树称为红黑树。比较复杂,知道概念即可...原创 2019-09-30 11:11:53 · 81 阅读 · 0 评论 -
数据结构-树
有序数组:查找快,但删除和插入慢。链表:插入和删除快,但查询慢。树:插入、删除、查询都很快。二叉树:每个节点最多有两个节点的树。二叉树的基本操作:(1)插入节点:比根节点小的放左边,大的放右边(2)查找节点(3)删除节点比较复杂:在删除前需要查找要删除的节点,找到后,这要删除的节点有三种情况要考虑。1.该节点是叶子节点,没有子节点2.该节点有一个子节点3.该节点有两个子节点...原创 2019-09-30 10:58:05 · 92 阅读 · 0 评论 -
数据结构-快速排序
思想:将一个数组划分为两个子数组,然后通过递归调用自身为每一个子数组进行快速排序来实现。如何划分:设置关键字,将比关键字小的数据放在一组,将比关键字大的放在另外一组。如何自动设置关键字:设置数组最右端的数据为关键字。package com.chb.chap09;public class QuickSort { //划分数组 public static int part(long[]a...原创 2019-09-29 12:34:32 · 136 阅读 · 0 评论 -
数据结构-希尔排序
定义:希尔排序基于插入排序,冰天急啊了一些新的特性,从而大大的提高了插入排序的执行效率插入排序的缺点:需要多次移动,加入一个很小的数据靠右端位置上,那么需将该数据排序到正确的位置上,则所有的中间数据都需要向右移动一位希尔排序的优点:希尔排序通过加大插入排序中的元素之间的间隔,并对这些间隔的元素进行插入排序,从而使得数据可以大幅度的移动,当完成该间隔的排序后,希尔排序会减少数据的间隔再进行排序,...原创 2019-09-29 11:54:24 · 235 阅读 · 0 评论 -
数据结构-递归
定义:方法自己调用自己package chap06;public class Digui { public static void main(String[] args) { test(10); } public static void test(int n) { if(n==0) { return; } System.out.println(n); test...原创 2019-09-09 10:02:24 · 82 阅读 · 0 评论 -
数据结构-双端链表和双向链表
1、双端链表链表中保存着对最后一个节点的引用,这就是双端链表package chap05;import chap04.Node;//双端链表public class FirstLastLinkList { private Node first;//头结点 private Node last;//尾结点 FirstLastLinkList() { first=null...原创 2019-09-09 09:10:12 · 1313 阅读 · 0 评论 -
数据结构-链表
节点类package chap04;//链节点,相当于车厢public class Node { public long data;//数据域 public Node next;//节点域(指针域) public Node(long value) { this.data=value; } //显示方法 public void display() { System.ou...原创 2019-09-09 08:34:28 · 83 阅读 · 0 评论 -
数据结构-栈和队列
1、栈package chap03;public class MyStack { //底层实现是一个数组 private long[]arr; //表示栈顶的下标 private int top; public MyStack() { arr=new long[10]; top=-1; } public MyStack(int maxsize) { arr=...原创 2019-09-08 10:10:30 · 102 阅读 · 0 评论 -
数据结构-简单排序
1、冒泡排序package chap02;public class BubbleSort { public static void sort(long arr[]) { for (int i = 0; i < arr.length-1; i++) { for (int j =0; j <arr.length-1-i; j++) { if(arr[j]>a...原创 2019-09-08 09:30:27 · 117 阅读 · 0 评论 -
数据结构-图
图:表示多对多的关系需要用到图。顶点:可用数据表示表示。边:可以用邻接矩阵或邻接表表示。图的定义:package com.chb.chap18;//顶点类public class Vertex { private char label; public Vertex(char label) { super(); this.label = label; } }pa...原创 2019-10-04 11:08:43 · 139 阅读 · 0 评论