DreamClimb / AndroidMore

Android高级工程师成长之路:手写算法,数据结构 和 Android源码笔记

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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工作原理

联系方式

博客:https://blog.csdn.net/qizewei123
E-mail:qizewei@vip.qq.com
微信:779754469

About

Android高级工程师成长之路:手写算法,数据结构 和 Android源码笔记

License:Apache License 2.0


Languages

Language:Java 100.0%