
数据结构
数据结构
zcd_2020
这个作者很懒,什么都没留下…
展开
-
冒泡、选择、插入排序算法
1. 冒泡排序时间复杂度O(n^2) 稳定一次比较相邻元素的值,如果是逆序就交换,然后每轮排序都会确定出最右侧的最大元素。下一轮的循环次数就会减少一次。第一趟排序:(1)3和9进行比较(2)9和-1比较,交换位置(3)9和10比较(4)10和20比较,确定出最大值20,固定不动第二趟排序: 是对 3,-1,9,10进行排序,确定出最大元素10,所以每趟排序都会减少一次。package sort;import java.lang.reflect.Array;import jav.原创 2021-09-29 16:56:30 · 146 阅读 · 0 评论 -
10 树结构基础部分
数组存储方式:若数组添加元素,由于数组大小是固定的,所以每次存储,数组都会扩容创建新的数组,将原来数据拷贝到新的数组,并插入数据。集合底层是用数组动态扩容。以9为例,9比7大,放在7的右侧,9比10小,放在10左侧。10.1.3 二叉树package tree;public class BinaryTreeDemo { public static void main(String[] args){ //创建一棵二叉树 BinaryTre原创 2021-08-06 22:43:56 · 105 阅读 · 0 评论 -
9 哈希表
提升数据查找速度,减少数据库压力。package hashtab;import java.util.HashMap;import java.util.Scanner;public class HashTabDemo { public static void main(String[] args){ //创建Hsth表 HashTab hashMap = new HashTab(7); String key=""; ..原创 2021-04-28 08:50:10 · 88 阅读 · 0 评论 -
8.4插值查找
若二分查找【1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16】查找数字1,需要查找多次。比较二分查找:数据多时,定位比较快。package search;public class InsertValueSearch { public static void main(String[] args){ int[] arr = new int[100]; for (int i=0;i<100;i++){原创 2021-04-27 08:43:20 · 79 阅读 · 0 评论 -
8.3 二分查找
二分查找:要求在有序数组中package search;//数组是有序的public class BinarySearch { public static void main(String args[]){ int arr[] = {1,8,10,89,1000,1234}; int resIndex = binarySearch(arr,0,arr.length-1,12345); System.out.println("resInd原创 2021-04-26 20:55:23 · 96 阅读 · 0 评论