Skip to content

Android 工程师成长之路:JAVA算法的实现,数据结构 和 Android源码笔记等 分享

License

Notifications You must be signed in to change notification settings

qizewei/AndroidMore

Repository files navigation

Android高级工程师的成长之路

数据结构

  1. 数据结构:数据之间相互存在的一种或多种特定关系的元素的集合。
  2. 逻辑结构分类:集合结构,线性结构,树形结构,图形结构。
  3. 物理结构分类:顺序存储,链式存储 。

Android中主要数据结构的伪代码,注重思路和实现方式,笔记和重点在代码中有注释
ArrayList(顺序存储方式线性表)
LinkedList(链式存储方式线性表)
Queue(队列)
Stack(栈)
HashMap(哈希表)
LinkedHashMap(链式哈希表)
Tree(树)
Graph(图-邻接表的实现)
Graph(图-邻接矩阵的实现)
Graph(图-深度优先遍历,广度优先遍历)
Graph(图-最小生成树的两种算法:普利姆算法,克鲁斯卡尔算法)
Graph(图-最短路径:迪杰斯特拉算法)
Graph(图-拓扑排序)

算法:

算法优劣评定:时间复杂度(相同时间下执行的指令少),空间复杂度(消耗的内存大小),正确性,可读性,健壮性。

各个算法的实现,均通过单元测试

排序算法

冒泡排序
堆排序
插入排序
归并排序
快速排序
选择排序
希尔排序
基数排序

查找算法

线性查找
二分查找

算法思想及案例

穷举思想案例:泊松分酒
递归思想案例:汉诺塔问题
递归思想案例:最大公约数问题
动态规划法思想案例:最长公共子序列 + 最长公共子串问题
回溯法思想案例:八皇后问题
分治法思想案例:球队比赛排列问题 + L型骨牌问题
贪心算法案例:背包问题

其他算法

约瑟夫问题
大数相乘问题

Android:

01-线程和进程
02-Android IPC
03-Binder的原理
04-Activity_知识点
05-View的绘制
06-消息队列
07-Service难点
08-Window相关
09-AOP编程
10-RxJava 和 Retrofit 的工作原理
11-Activity的启动流程
12-Android 中的 ClassLoader

Jetpack

Jetpack系列,从使用入门讲解 到 源码解析工作原理

01-Jetpack系列 - Lifecycle从入门到源码
02-jetpack系列 - ViewModel从入门到源码
03-jetpack系列 - LiveData从入门到源码
04-jetpack系列 - Palette(调色板)入门使用指南

联系方式

掘金:https://juejin.im/user/57fdc5ef2e958a0055a39ee2/posts
CSDN:https://blog.csdn.net/qizewei123
E-mail:[email protected]
微信:779754469

About

Android 工程师成长之路:JAVA算法的实现,数据结构 和 Android源码笔记等 分享

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages