尚硅谷
数据结构与算法
Seven_Year1
一个纯种Java小白。。。。
展开
-
6-哈希表
//创建HashTable,管理多条链表class HashTable { private EmpLinkedList[] empLinkedListArray; private int size; //表示有多少条链表 public HashTable(int size) { this.size = size; empLinkedListArray = new EmpLinkedList[size]; //不要忘了初始化每个链表.原创 2021-03-18 09:04:00 · 69 阅读 · 0 评论 -
5-查找
1 二分查找/** * 二分查找 * * @param arr 有序数组 * @param left 左边的索引 * @param right 右边的索引 * @param findVal 要查找的值 * @return */public static int binarySearch(int[] arr, int left, int right, int findVal) { // 当left > right 时,说明递归整个数组,但是没有找到原创 2021-03-18 09:02:38 · 88 阅读 · 0 评论 -
4-排序
文章目录1 冒泡排序2 选择排序3 插入排序4 希尔排序5 快速排序6 归并排序7 基数排序8 堆排序9 总结1 冒泡排序冒泡排序(Bubble Sorting)的基本思想是:通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从前移向后部,就象水底下的气泡一样逐渐向上冒。优化:因为排序的过程中,各元素不断接近自己的位置,如果一趟比较下来没有进行过交换,就说明序列有序,因此要在排序过程中设置一个标志flag 判断元素是否进行过交换。从而减少原创 2021-03-18 09:00:03 · 156 阅读 · 0 评论 -
3-链表
1 单向链表//定义SingleLinkedList来管理我们的英雄class SingleLinkedList{ //初始化一个头节点 private HeroNode head = new HeroNode(0,"",""); //添加节点到单向链表 public void add(HeroNode heroNode){ HeroNode temp = head; while (true){ if(temp.n原创 2021-03-18 08:55:46 · 54 阅读 · 0 评论 -
2-队列
1 数组实现队列class ArrayQueue{ private int maxSize; //数组的最大容量 private int front; //队列头 private int rear; //队列尾 private int[] arr; //用于存放数据,模拟队列 //创建队列的构造器 public ArrayQueue(int maxSize) { this.maxSize = maxSize; arr原创 2021-03-18 08:52:22 · 57 阅读 · 0 评论 -
1-稀疏数组
public class SparseArray { public static void main(String[] args) { int[][] arr = new int[11][11]; arr[1][2] = 1; arr[2][3] = 2; for (int[] row : arr) { for (int data : row) { System.out.print原创 2021-02-21 09:44:57 · 76 阅读 · 0 评论