数据结构与算法
数据结构与算法
NowIWanaBe
这个作者很懒,什么都没留下…
展开
-
数据结构与算法(九)查找 - 二分查找
1.时间复杂度:logn每次查找后,数据规模缩减为原来的一半2.代码实现@Test public void test() { System.out.println("========" + bsearch(new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, 9)); bsearch2(new int[]{1, 2...原创 2020-04-30 15:15:02 · 199 阅读 · 0 评论 -
数据结构与算法(八)排序(二) - 归并排序、快速排序、第K大元素
public int[] mergeSortC(int[] array, int low, int heigh) { if (low < heigh) { int mid = (low + heigh) / 2; mergeSortC(array, low, mid); mergeSort...原创 2020-04-16 22:52:43 · 178 阅读 · 0 评论 -
数据结构与算法(八)排序 - 冒泡排序、插入排序、选择排序
public class Sort { @Test public void test() {// PopSort(new int[]{2, 3, 1, 4, 6, 5});// InsertSort(new int[]{2, 3, 1, 4, 6, 5},6); selectionSort(new int[]{2, 3, 1, 4...原创 2020-04-15 21:47:09 · 160 阅读 · 0 评论 -
数据结构与算法(七)递归 - 斐波那契数列+阶乘实现+数据集合的全排列
public class Recursive { @Test public void test() { System.out.println("============Fibonacci " + Fibonacci(4)); System.out.println("============Factorial " + Factorial(5));...原创 2020-04-13 19:00:45 · 213 阅读 · 0 评论 -
数据结构与算法(六)队列 - 数组队列+链表队列
public class Queue { @Test public void test() { //均摊时间复杂度O(1)// ArrayQuene arrayQuene = new ArrayQuene();// arrayQuene.enqueue(1);// arrayQuene.enqueue(2);//...原创 2020-04-13 17:23:47 · 107 阅读 · 0 评论 -
数据结构与算法(五)栈(二) -链表栈实现-模拟浏览器前进后退功能
public class Stack { @Test public void test() {// LinkedStack linkedStack = new LinkedStack();// linkedStack.push("a");// linkedStack.push("b");// linkedStack....原创 2020-04-13 09:56:02 · 398 阅读 · 1 评论 -
数据结构与算法(五)栈- 数组栈+链表栈
public class Stack { @Test public void test() { ArrayStack arrayStack = new ArrayStack(); System.out.println("------------------------------"); arrayStack.push(11); ...原创 2020-04-09 22:00:07 · 156 阅读 · 0 评论 -
数据结构与算法(四)链表(五)- 两个有序链表合并+寻找中间节点
public class CombineLinkedList { @Test public void test() { System.out.println("------------------------------"); CombineLinkedList list = new CombineLinkedList(); Co...原创 2020-03-24 16:02:21 · 208 阅读 · 1 评论 -
数据结构与算法(四)链表(四)- 单链表原地反转
public class ReverseLinkedList { @Test public void test() { System.out.println("======================================"); ReverseLinkedList reverseLinkedList = new ReverseLink...原创 2020-03-24 11:22:18 · 246 阅读 · 0 评论 -
数据结构与算法(四)链表(三)- 双向链表
public class DoublyLinkedList { @Test public void test() { Log.e("DoublyLinkedList", "000000000000000000000000000000000000000000000"); DoublyLinkedList doublyLinkedList = new ...原创 2020-03-05 10:42:44 · 123 阅读 · 0 评论 -
数据结构与算法(四)链表(二)- 单向循环链表
public class RecycleLinkedList { @Test public void test() { System.out.println("00000000000000000000000000000000"); RecycleLinkList recycleLinkList = new RecycleLinkList(); ...原创 2020-03-04 21:18:10 · 114 阅读 · 0 评论 -
数据结构与算法(四)链表(一)-单链表实现
1.单链表的增、删、遍历public class Test { @org.junit.Test public void test() { //测试代码 System.out.println("00000000000000000000000000000000000000000000000000000000000000000000...原创 2020-03-02 21:31:57 · 195 阅读 · 0 评论 -
数据结构与算法(三)数组与链表编程实践
1.支持动态扩容的数组public class DynamicArray { //扩容因子 final float factor = 0.75f; int size = 16; int currentIndex = 0; int[] arrays = new int[size]; privat...原创 2019-08-01 22:03:26 · 140 阅读 · 0 评论 -
数据结构与算法(二)数组
随机访问1.数组Array是线性表,用一组连续的内存空间,存储一组相同数据类型的数据。这个特性决定了随机访问的基础。2.线性表:数组、队列、链表、栈。非线性表:树、图、堆3.一维数组寻址公式:a[i]_adress = base_adress + i * data_type_size插入与删除1.插入的最好时间复杂度为O(1),最坏时间复杂度为O(n),平均时间复杂度为O(n)...原创 2019-07-25 22:43:29 · 129 阅读 · 0 评论 -
数据结构与算法(一)复杂度分析
大O复杂度表示法代码执行时间T(n)与执行次数n成正比,即T(n) = O(f(n)),大O表示时间复杂度,又称渐进时间复杂度,表征代码执行时间随数据规模增长的变化趋势。一定程度上可以类比斜率、导数。时间复杂度分析1.只关注循环执行次数最多的代码行,忽略常数2.加法法则:总复杂度等于量级最大的那个时间复杂度3.乘法法则:总复杂度等于嵌套的各个量级复杂度乘积常见时间复杂度...原创 2019-07-24 21:54:48 · 237 阅读 · 0 评论 -
二叉树基础-1
本文仅为个人学习使用。如有侵权,立即删除======================================================作者:qing的世界链接:https://www.jianshu.com/p/6f179f37ad79本文由作者授权发布。作者之前还授权推送过视频相关的文章,可以看下,相信你会喜欢作者的文笔的Android视频开发进阶(一)关于视频的那些术语。本文属于...转载 2018-02-26 09:51:21 · 193 阅读 · 0 评论