算法与数据结构
QianZheng1222
这个作者很懒,什么都没留下…
展开
-
算法与数据结构复习——java封装数组、有序数组
package ch01;/** * @author lixin * @date 2018年7月22日 * @Description 数组 */public class MyArray { private long[] arr; //表示有效数据长度 private int element; public MyArray(){ arr= new long[...原创 2018-07-23 11:11:19 · 273 阅读 · 0 评论 -
算法与数据结构的复习——开放地址法解决哈希冲突问题
开放地址法意思是数组中的所有空间都对要插入的节点开放,当两个键值计算出的索引值一样的时候,后插入的数据将会顺次找到一个空的数组的索引插入。package ch12;import java.math.BigInteger;public class HashTable { private Info[] arr; public HashTable() { arr = new I...原创 2018-08-01 10:00:41 · 528 阅读 · 0 评论 -
算法与数据结构的复习——哈希表
1、哈希表是一种数据结构、他提供快速的插入操作和查找操作。基于数组来实现。2、哈希化 1)直接将关键字作为索引 2)将单词转化为索引 :字母转化为ASCII码取和、幂的连乘、压缩可选值。/** * */package ch11;/** * @author lixin * @date 2018年7月31日 * @Description TODO *...原创 2018-07-31 11:11:11 · 219 阅读 · 0 评论 -
算法与数据结构的复习——二叉树的基本操作
节点类/** * */package ch10;/** * @author lixin * @date 2018年7月27日 * @Description 二叉树节点类,为方便访问把访问权限设置成public */public class Node { //数据域 public long data; //左节点 public Node leftNode;...原创 2018-07-27 15:11:31 · 191 阅读 · 0 评论 -
算法与数据结构的复习——快速排序
/** * */package ch09;/** * @author lixin * @date 2018年7月25日 * @Description 快速排序 */public class QuickSort { /** * 划分数组 * * @param arr:数组 * @param left:数组最左边 * @param right:数组最右边...原创 2018-07-27 10:27:24 · 200 阅读 · 0 评论 -
算法与数据结构的复习——遍历二叉树、删除节点
/** * */package ch10;public class Tree { // 树根节点 public Node root; // 插入节点 public void insert(long value) { Node node = new Node(value); Node current = root; Node parent; // 判断一下是不...原创 2018-07-30 15:44:10 · 622 阅读 · 1 评论 -
算法与数据结构的复习——希尔排序
希尔排序是在插入排序的基础之上做的优化,它进行跨度的比较从而保证当跨度为1的时候特别小的数不会留在数列的后面导致多次移动元素。希尔排序跨度计算—— h=h*3+1 初始值为1 最大跨度不大于数组的长度的h的最大值。跨度的减少—— h =(h-1)/3 希尔排序实现代码/** * */package ch08;import ch02.InsertSor...原创 2018-07-25 16:37:22 · 177 阅读 · 0 评论 -
算法与数据结构复习——递归实现计算汉诺塔游戏步骤
汉诺塔游戏 移动盘子将一定数量的盘子从第一个地方放到第三个地方,且大盘子不能放在小盘子上面,一次只能移动一次盘子 /** * */package ch07;/** * @author lixin * @date 2018年7月23日 * @Description 汉诺塔递归实现 */public class HanoiTower { // 计算汉诺塔的实现步骤...原创 2018-07-23 16:20:19 · 459 阅读 · 0 评论 -
算法与数据结构的复习——递归
/** * */package ch06;import org.junit.Test;/** * @author lixin * @date 2018年7月23日 * @Description 递归 */public class Recursion { // 三角数的实现 public static int getNumber1(int n) { int to...原创 2018-07-23 15:15:54 · 222 阅读 · 0 评论 -
算法与数据结构的复习——单链表、双端链表、双向链表
单链表只需要知道头节点就可以知道整个链表的数据。每个节点对象都会有一个数据域和下一节点的引用节点类 /** * */package ch04;/** * @author lixin * @date 2018年7月22日 * @Description 节点类 */public class Node { //将属性设置为public访问,可以不写set、get方...原创 2018-07-23 13:42:10 · 272 阅读 · 0 评论 -
算法与数据结构的复习——队列、栈
队列package ch03;/** * @author lixin * @date 2018年7月18日 * @Description 队列类(在) */public class MyQueue { // 底层使用数组 private long[] arr; // 有效数据的大小 private int elements; // 队头 private int f...原创 2018-07-23 11:19:17 · 247 阅读 · 0 评论 -
算法与数据结构的复习——选择排序、插入排序、冒泡排序
选择排序——package ch02;public class SelectionSort { // 选择排序 public static void sort(long arr[]) { long temp = 0; for (int i = 0; i < arr.length - 1; i++) { int k = i; for (int j = i; j...原创 2018-07-23 11:15:08 · 221 阅读 · 0 评论 -
算法与数据结构的复习——链地址法解决hash冲突问题
链地址法将数组的每一个元素都替换成一个链表当有相同的hashcode的元素插入时就可以存在数组中的同一个元素的链表的不同节点上了。/** * */package ch13;/** * @author lixin * @date 2018年7月31日 * @Description TODO */public class Info { private String k...原创 2018-08-01 16:42:35 · 1030 阅读 · 0 评论