
数据结构&Leetcode(java)
数据结构,力扣刷题
LiuWH888
这个作者很懒,什么都没留下…
展开
-
数据结构--简单排序_插入排序
插入排序算法: 渐进时间复杂度O(N^2) 比冒泡排序快一倍 插入排序方法: 要把第一个元素当成是有序的。(所以写代码的时候外层循环是从1开始的) 首先将第二个元素拿出来,放到临时数据的地方,然后和第一个进行比较,谁小就放在前面 然后将第三个元素拿出来,放到临时数据的地方,再依次和第二个元素比较,第一个元素比较。放到指定的位置 然后将第四个元素拿出来,放到临时数据的地方,再依...原创 2019-02-15 16:58:12 · 365 阅读 · 0 评论 -
数据结构---数组的基本操作
一、面向过程的数组应用 public class ArrayApp { public static void main(String[] args) { long [] arry;//声明数组 arry=new long[100];//创建数组 int element=0;//元素个数 int j; long searchkey;//查找的数字 ...原创 2019-02-10 11:43:57 · 966 阅读 · 0 评论 -
数据结构--有序数组和二分查找
查询:采用二分查找 删除的时候需要移动元素,保证数组的有序性 有序数组的优缺点: 优点:查找速度快 缺点:插入的时候需要按照排序方式把后面的数据移动 有序数组和无序数组的共同缺点:删除时数据项的数据向前移动来填补删除项的洞 public class OrdArray { private long [] a; public int element; public OrdArra...原创 2019-02-11 15:31:51 · 328 阅读 · 0 评论 -
数据结构--栈
不同结构类型的介绍: 数组 链表 树 适用于数据库应用中作数据记录 int [] a=new int[10] a[1]=100; int b=a[1]; 可以通过下标随时访问,也就是不受限访问 栈和队列 1.通常情况适用于作为程序员的工具来运用 2.受限访问(表现形式是先进后出) 3.更加抽象(主要通过接口实现) 栈:一组记录,表现形式是...原创 2019-02-17 12:29:46 · 321 阅读 · 0 评论 -
数据结构--栈的应用_字符反转
栈的java代码: public class StackX { private int maxsize; private char[] stackArray; private int top; public StackX(int max) { // TODO Auto-generated constructor stub maxsize=max; stackArray...原创 2019-02-17 16:15:32 · 256 阅读 · 0 评论 -
数据结构--使用数组存储对象、使用O表示法
一、使用大O表示法 线性查找(从头到尾一个一个查找) O(N) 效率还可以 二分查找(折半查找)得排序 O(log N) 效率良好 无序数组的插入 O(1)(使用常数表示的一般都不错) 效率优秀 有序数组的插入 O(N) 效率还可以 无序数组的删除 O(N) 效率还可以 有序数组的删除 O(N) 效率还可以 O(1)>O(log N)>O(N)>O(N^2) 二...原创 2019-02-12 11:12:45 · 232 阅读 · 0 评论 -
数据结构--简单排序_冒泡排序
(从小到大) 冒泡排序及其规则; 1.比较两个相邻的对象 2.按照一定的规则进行比较 3.如果(前边)左边的大于(后边)右边,则调换位置 4.向右移动一个位置,比较接下来的两个对象 时间复杂度O(N^2) 举例说明:要排序数组:int[] arr={6,3,8,2,9,1}; 第一趟排序: 第一次排序:6和3比较,6大于3,交换位置: 3 6 8 2 9 1 ...原创 2019-02-12 15:26:25 · 283 阅读 · 1 评论 -
数据结构--简单排序_选择排序
原理:每一趟从待排序的记录中选出最小的元素,顺序放在已排好序的序列最后,直到全部记录排序完毕。 简单选择排序的基本思想:给定数组:int[] arr={里面n个数据};第1趟排序,在待排序数据arr[1]~arr[n]中选出最小的数据,将它与arrr[1]交换;第2趟,在待排序数据arr[2]~arr[n]中选出最小的数据,将它与r[2]交换;以此类推,第i趟在待排序数据arr[i]~arr[n...原创 2019-02-13 14:58:51 · 691 阅读 · 0 评论