# DataStructure **Repository Path**: kejunandroid/DataStructure ## Basic Information - **Project Name**: DataStructure - **Description**: 💋💋数据结构、算法总结、学习算法的时间复杂度、空间复杂度、分析算法特点以及应用、Java面试难题、Android面试难题 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-07-10 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 数据结构与算法学习之路 ##### 下面的算法都打包在一个应用当中,你只需要下载安装即可,里面有算法的介绍,时间复杂度,空间复杂度,代码示例 - [时间复杂度介绍](https://github.com/UCodeUStory/DataStructure/blob/master/app/src/main/java/com/wangpos/datastructure/sort/TimeComplexityActivity.java) - [空间复杂度介绍](https://github.com/UCodeUStory/DataStructure/blob/master/app/src/main/java/com/wangpos/datastructure/sort/SpaceComplexityActivity.java) - [递归算法与非递归算法区别和转换](https://github.com/UCodeUStory/DataStructure/blob/master/app/src/main/java/com/wangpos/datastructure/sort/RecursionActivity.java) - [折半查找/二分查找算法](https://github.com/UCodeUStory/DataStructure/blob/master/app/src/main/java/com/wangpos/datastructure/sort/RecursionActivity.java) - [链表实现](https://github.com/UCodeUStory/DataStructure/blob/master/app/src/main/java/com/wangpos/datastructure/sort/EasyLinkListActivity.java) - [反转一个链表](https://github.com/UCodeUStory/DataStructure/blob/master/app/src/main/java/com/wangpos/datastructure/sort/EasyLinkListReverseActivity.java) - [直接插入排序](https://github.com/UCodeUStory/DataStructure/blob/master/app/src/main/java/com/wangpos/datastructure/sort/DirectInsertSortActivity.java) - [快速排序](https://github.com/UCodeUStory/DataStructure/blob/master/app/src/main/java/com/wangpos/datastructure/sort/QuickSortActivity.java) - [选择排序](https://github.com/UCodeUStory/DataStructure/blob/master/app/src/main/java/com/wangpos/datastructure/sort/OptionSortActivity.java) - [冒泡排序](https://github.com/UCodeUStory/DataStructure/blob/master/app/src/main/java/com/wangpos/datastructure/sort/BubbleSortActivity.java) - [线程与锁详解](https://github.com/UCodeUStory/DataStructure/blob/master/app/src/main/java/com/wangpos/datastructure/java/JavaThreadActivity.java) - 二叉树的遍历 - 二叉排序树 - [图的详解](https://github.com/UCodeUStory/DataStructure/blob/master/sources/tu.md) - 图的邻接表存储构成图 - 无向图的邻接表存储-深度优先搜索 - 无向图的邻接表存储-广度优先搜索 - 无向图的邻接矩阵存储-深度优先搜索 - 无向图的邻接矩阵存储-广度优先搜索 - 有向图的创建 - 拓扑排序-邻接矩阵存储-Kahn算法 - 拓扑排序-邻接矩阵存储-深度优先搜索算法 - [最短路径算法之Dijkstra算法(狄克斯特拉算法](https://github.com/UCodeUStory/DataStructure/blob/master/app/src/main/java/com/wangpos/datastructure/graph/DjstaActivity.java) - [ArrayList实现原理](https://github.com/UCodeUStory/DataStructure/blob/master/app/src/main/java/com/wangpos/datastructure/java/mylist/CJArrayList.java) - [LinkList双向实现](https://github.com/UCodeUStory/DataStructure/blob/master/app/src/main/java/com/wangpos/datastructure/java/mylist/CJArrayList.java) - [堆排序](https://github.com/UCodeUStory/DataStructure/blob/master/app/src/main/java/com/wangpos/datastructure/sort/HeapSortActivity.java) - [归并排序](https://github.com/UCodeUStory/DataStructure/blob/master/app/src/main/java/com/wangpos/datastructure/sort/MergeSortActivity.java) - [希尔排序](https://github.com/UCodeUStory/DataStructure/blob/master/app/src/main/java/com/wangpos/datastructure/sort/ShellSortActivity.java) - [八大排序总结](https://github.com/UCodeUStory/DataStructure/blob/master/app/src/main/java/com/wangpos/datastructure/sort/EightSortDescriptionActivity.java) - [计数排序](https://github.com/UCodeUStory/DataStructure/blob/master/app/src/main/java/com/wangpos/datastructure/sort/CountSortActivity.java) - [同时找出最大值和最小值最优算法](https://github.com/UCodeUStory/DataStructure/blob/master/app/src/main/java/com/wangpos/datastructure/sort/MaxMinSelectActivity.java) - [快速查找法,查找第k个最大的数](https://github.com/UCodeUStory/DataStructure/blob/master/app/src/main/java/com/wangpos/datastructure/sort/SelectIndexDataActivity.java) - [10亿数据查找前100个](https://github.com/UCodeUStory/DataStructure/blob/master/app/src/main/java/com/wangpos/datastructure/sort/MaxDataSelectDataActivity.java) - [散列表(哈希表)](https://github.com/UCodeUStory/DataStructure/blob/master/hashtable.md) - [求最大不重复子串](https://github.com/UCodeUStory/DataStructure/blob/master/app/src/main/java/com/wangpos/datastructure/other/MaxSubStringActivity.java) - [死锁](https://github.com/UCodeUStory/DataStructure/blob/master/app/src/main/java/com/wangpos/datastructure/java/DeadLockDemo.java) - [两个线程交替输出1010](https://github.com/UCodeUStory/DataStructure/blob/master/app/src/main/java/com/wangpos/datastructure/java/ThreadOneZero.java) - 两个排序数组的中值it #### Java - [Java 基础面试题](https://github.com/UCodeUStory/DataStructure/blob/master/sources/javabasic.md) - [Java垃圾回收机制](https://github.com/UCodeUStory/DataStructure/blob/master/sources/JavaGarbageCollection.md) - [Java 强、软、弱、虚引用](https://github.com/UCodeUStory/DataStructure/blob/master/sources/reference.md) - [Java 线程池实现原理](https://github.com/UCodeUStory/DataStructure/blob/master/sources/thread_principle.md) - [weakHashMap](https://github.com/UCodeUStory/DataStructure/blob/master/sources/weakHashMap.md) - [tomcat 旧版本 使用currentHashMap和weakHashMap做分代缓存](https://github.com/UCodeUStory/DataStructure/blob/master/sources/tomcat_cache.java) - [tomcat 新版本 使用LRU缓存,最后也被废弃了](https://github.com/UCodeUStory/DataStructure/blob/master/sources/tomcat_lru_cache.java) - [Java 实现LRU缓存3种方式 ](https://github.com/UCodeUStory/DataStructure/blob/master/sources/lru.md) - [LinkHashMap 实现FIFO](https://github.com/UCodeUStory/DataStructure/blob/master/sources/fifo.md) - [Java 集合原理](http://wiki.jikexueyuan.com/project/java-collection/hashset.html) - [synchronized 和 Lock区别](https://github.com/UCodeUStory/DataStructure/blob/master/sources/synchronized_lock.md) - [wait 和 sleep区别](https://github.com/UCodeUStory/DataStructure/blob/master/sources/wait_sleep.md) - [yield()和join()](https://github.com/UCodeUStory/DataStructure/blob/master/sources/yield_join.md) - [HashMap冲突](https://github.com/UCodeUStory/DataStructure/blob/master/sources/hash_confict.md) - [Java 8十大特性](https://github.com/UCodeUStory/DataStructure/blob/master/sources/java8.md) - [Java 克隆](https://github.com/UCodeUStory/DataStructure/blob/master/sources/javaCopy.md) - [Java foreach原理](https://github.com/UCodeUStory/DataStructure/blob/master/sources/foreach.md) #### Android 常见问题 1. [Volley源码分析经典算法](https://github.com/UCodeUStory/DataStructure/blob/master/sources/volley_algorithm.md) 2. [Android Design Support Library包含内容](https://github.com/UCodeUStory/DataStructure/blob/master/sources/adsl.md) 3. [Android v4 v7 v8 v13区别](https://github.com/UCodeUStory/DataStructure/blob/master/sources/v4_v7_v8_v13.md) 4. [Android Design Support Library V28 新增加内容](https://github.com/UCodeUStory/DataStructure/blob/master/sources/design_v28.md) 5. [Android网络数据安全](https://github.com/UCodeUStory/DataStructure/blob/master/sources/netsafe.md) 6. [Binder 原理](https://github.com/UCodeUStory/DataStructure/blob/master/sources/Binder.md) 7. [Android应用架构设计](https://github.com/UCodeUStory/DataStructure/blob/master/sources/frame.md) 8. [热修复技术和原理](https://github.com/UCodeUStory/DataStructure/blob/master/sources/hotfix.md) 9. [Android 8.0 WorkManager后台任务可以保活](https://github.com/UCodeUStory/DataStructure/blob/master/sources/workManager.md) 10. [JNI双进程保活] 11. [Android 应用启动流程](https://github.com/UCodeUStory/DataStructure/blob/master/sources/app_start_step.md) 12. [Activity和Fragment和Service生命周期] 13. [Handler机制] 14. [AsyncTask源码分析](https://github.com/UCodeUStory/DataStructure/blob/master/sources/asynctask.md) 15. [Android 图片下载](https://github.com/UCodeUStory/DataStructure/blob/master/sources/imagedownload.md) 16. [OnNewIntent 什么时候被调用](https://github.com/UCodeUStory/DataStructure/blob/master/sources/activity_onnewIntent.md) 17. [Android两种虚拟机区别和联系](https://github.com/UCodeUStory/DataStructure/blob/master/sources/davik_art.md) 18. [View的源码分析(绘制流程以及刷新机制)](https://github.com/UCodeUStory/DataStructure/blob/master/sources/view_root.md) 19. [RecyclerView 和ListView区别](https://github.com/UCodeUStory/DataStructure/blob/master/sources/recyclerView_listview.md) 20. [volatile原理](https://github.com/UCodeUStory/DataStructure/blob/master/sources/volatile.md) 21. [Fragment的懒加载实现](https://github.com/UCodeUStory/DataStructure/blob/master/sources/fragment_lazy_load.md) 22. [requestlayout,invalidate,postInvalidate 区别于联系](https://github.com/UCodeUStory/DataStructure/blob/master/sources/requestlayout_invalidate_postInvalidate.md) 23. [OnMeasure多次调用问题](https://github.com/UCodeUStory/DataStrucgitture/blob/master/sources/onMeasure.md) 24. ViewPager缓存原理 25. [多进程Application初始化问题](https://github.com/UCodeUStory/DataStructure/blob/master/sources/application.md) 26. [Application可以开线程替换Service处理后台任务吗](https://github.com/UCodeUStory/DataStructure/blob/master/sources/application_service.md) 27. [android.os.killProcess和System.exit(0)区别](https://github.com/UCodeUStory/DataStructure/blob/master/sources/killprocess_system_exit.md) 28. 线程通信 29. [ConstraintLayout 完全解析 快来优化你的布局](https://blog.csdn.net/lmj623565791/article/details/78011599?utm_source=tuicool&utm_medium=referral) 30. [Android 匿名共享内存原理](https://www.jianshu.com/p/d9bc9c668ba6) 31. [Binder 原理深度剖析](https://github.com/UCodeUStory/DataStructure/blob/master/sources/binder.md) 32. [MediaPlayer生命周期](https://github.com/UCodeUStory/DataStructure/blob/master/sources/media_player.md) 33. [TransactionTooLargeException解决方法](https://github.com/UCodeUStory/DataStructure/blob/master/sources/transactiontoolargeexception.md) #### 设计模式 1. [面向对象的七种设计原则](https://github.com/UCodeUStory/DataStructure/blob/master/sources/seven_design_principles.md) 2. [建造者模式](https://github.com/UCodeUStory/DataStructure/blob/master/sources/kotlin/builderModel.kt) #### Android 框架使用说明 1. [rxjava使用](https://github.com/UCodeUStory/DataStructure/blob/master/sources/rxjavademo.md) 2. [liveData](https://github.com/UCodeUStory/DataStructure/blob/master/sources/livedata.md) 3. [rxCache] ##### Android框架源码分析 1. [EventBus源码分析](https://github.com/UCodeUStory/DataStructure/blob/master/sources/eventbus.md) 2. [Bufferknife源码分析](https://github.com/UCodeUStory/DataStructure/blob/master/sources/butterknife.md) 3. [Glide 源码分析](https://github.com/UCodeUStory/DataStructure/blob/master/sources/glide.md) 4. [Picasso 源码分析] 5. [OKHttp 源码分析](https://github.com/UCodeUStory/DataStructure/blob/master/sources/okhttp.md) 6. [Retrofit 源码分析](https://github.com/UCodeUStory/DataStructure/blob/master/sources/retrofit.md) 7. [ARouter 源码分析] 8. [LeakCanary 源码分析] 9. [Blockcanary 源码分析] 10. [lifeRecycler源码分析] 11. [RxJava 源码分析] 12. [ViewModel 源码分析](https://github.com/UCodeUStory/DataStructure/blob/master/sources/viewmodel.md)