Home
Projects
Resources
Alternatives
Blog
Sign In
DataStructure
Save
💋💋数据结构、算法总结、学习算法的时间复杂度、空间复杂度、分析算法特点以及应用、Java面试难题、Android面试难题
Overview
Reviews
Resources
Project README
数据结构与算法学习之路
下面的算法都打包在一个应用当中,你只需要下载安装即可,里面有算法的介绍,时间复杂度,空间复杂度,代码示例
时间复杂度介绍
空间复杂度介绍
递归算法与非递归算法区别和转换
折半查找/二分查找算法
链表实现
反转一个链表
直接插入排序
快速排序
选择排序
冒泡排序
线程与锁详解
二叉树的性质
二叉树的遍历
二叉排序树
红黑树
AVL树
图的详解
图的邻接表存储构成图
无向图的邻接表存储-深度优先搜索
无向图的邻接表存储-广度优先搜索
无向图的邻接矩阵存储-深度优先搜索
无向图的邻接矩阵存储-广度优先搜索
有向图的创建
拓扑排序-邻接矩阵存储-Kahn算法
拓扑排序-邻接矩阵存储-深度优先搜索算法
邻接矩阵和邻接表比较
最短路径算法之Dijkstra算法(狄克斯特拉算法
ArrayList实现原理
LinkList双向实现
堆排序
归并排序
希尔排序
八大排序总结
计数排序
同时找出最大值和最小值最优算法
快速查找法,查找第k个最大的数
10亿数据查找前100个
散列表(哈希表)
求最大不重复子串
死锁
两个线程交替输出1010
算法设计常用思想
贪婪算法之找零钱问题
贪婪算法之01背包问题
分治算法之二分法查找
分治算法之字符串全排列
分治算法之快速排序
[分治算法之合并排序]
迭代算法之欧几里得算法
迭代算法和递归算法区别
迭代算法之二分逼近法
动态规划法之01背包问题
[动态规划法之装配站问题]
穷举算法之百钱买鸡
穷举算法之鸡兔同笼
穷举算法之853桶分4升水的分法有多少种
穷举算法之爱因斯坦的思考
穷举加分治算法之24点计算
Java 常见问题
Java 基础面试题
Java垃圾回收机制
Java 强、软、弱、虚引用
Java 线程池实现原理
weakHashMap
tomcat 旧版本 使用currentHashMap和weakHashMap做分代缓存
tomcat 新版本 使用LRU缓存,最后也被废弃了
Java 实现LRU缓存3种方式
LinkHashMap 实现FIFO
Java 集合原理
wait 和 sleep区别
yield()和join()
HashMap冲突
Java 8十大特性
Java 克隆
Java foreach原理
synchronized 和 Lock区别
BlockingQueue和BlockingDequeu详解
锁类型详解
Condition实现对锁进行更精确的控制
LinkBlockingQueue原理
多个线程安全的原子化操作组合将不再是安全的
CopyOnWriteArrayList原理
ConcurrentHashMap原理
[分布式锁-分段锁思想]
Atomic包的原理及分析
CAS实现自旋线程安全
Java泛型使用
Java NIO
Android 常见问题
Volley源码分析经典算法
Android Design Support Library包含内容
Android v4 v7 v8 v13区别
Android Design Support Library V28 新增加内容
Android网络数据安全
Android Binder 原理
Android应用架构设计
热修复技术和原理
Android 8.0 WorkManager后台任务可以保活
[JNI双进程保活]
Android 应用启动流程
[Activity和Fragment和Service生命周期]
[Handler机制]
AsyncTask源码分析
Android 图片下载
OnNewIntent 什么时候被调用
Android两种虚拟机区别和联系
View的源码分析(绘制流程以及刷新机制)
RecyclerView 和ListView区别
volatile原理
Fragment的懒加载实现
requestlayout,invalidate,postInvalidate 区别于联系
OnMeasure多次调用问题
ViewPager缓存原理
多进程Application初始化问题
Application可以开线程替换Service处理后台任务吗
android.os.killProcess和System.exit(0)区别
线程通信有哪些方式
ConstraintLayout 完全解析 快来优化你的布局
Android 匿名共享内存原理
Binder 原理深度剖析
MediaPlayer生命周期
TransactionTooLargeException解决方法
谈一下Http请求过程
Android 进程通信种类
面试题如何计算View的深度,写一段成程序
统计一个ViewGroup中包含的子View的个数(递归和非递归实现)
返回一个在ViewGroup下面的一个View,id为方法的第二个参数
设计模式
面向对象的七种设计原则
建造者模式
命令模式
享元模式
模板方法模式
责任链模式
建造者模式
原型模式
观察者模式
策略模式与命令模式区别
桥接模式
组合模式
适配器模式
装饰者模式
外观模式
状态模式
状态模式与策略模式区别
[迭代器模式]基本用不到
[备忘模式]很简单、就是有个管理员保存一些对象
[访问者模式] 不常用,不好用,不信你擦擦
中介模式
[解释器模式]
代理模式
简单工厂模式
工厂模式
抽象工厂
委托设计模式
适配器模式 与(装饰者、代理模式)区别
装饰器模式和代理模式区别
Android 框架使用说明
Rxjava使用
LiveData
[RxCache]
Android框架源码分析
EventBus源码分析
Bufferknife源码分析
Glide 源码分析
[Picasso 源码分析]
OKHttp 源码分析
Retrofit 源码分析
[ARouter 源码分析]
[LeakCanary 源码分析]
Blockcanary 源码分析
[Lifecycler源码分析]
RxJava 源码分析
ViewModel 源码分析
Open Source Agenda is not affiliated with "DataStructure" Project. README Source:
UCodeUStory/DataStructure
Stars
1,115
Open Issues
1
Last Commit
3 years ago
Repository
UCodeUStory/DataStructure
Open Source Agenda Badge
Submit Review
Review Your Favorite Project
Submit Resource
Articles, Courses, Videos
Submit Article
Submit a post to our blog
From the blog
Dec 11, 2022
How to Choose Which Programming Language to Learn First?
From the blog
Dec 11, 2022
How to Choose Which Programming Language to Learn First?
Home
Projects
Resources
Alternatives
Blog
Sign In
Sign In to OSA
I agree with
Terms of Service
and
Privacy Policy
Sign In with Github