前言

    写这个专题的目的因为作为一个android开发工程师,如果不了解Java常用的数据结构和算法的话,那我相信他是进不了大公司的。一般大公司的android面试经常会问一些这方面的问题。比如,我们你SparseArray你有没有了解过,如果你不知道,那估计这轮面试你就悬了。这里咱先不说SparseArray,咱们以后会谈到。在这里,我们先介绍一下这个专题会谈到的内容。

    既然是数据结构和算法,那肯定是分为数据结构和算法两个专题来讲。

    数据结构我们会分析到主要有以下几个内容:

            1.线性表  主要分析顺序表和链表

            2.栈和队列

            3.hash表

            4.容器 Set

            5.树,二叉树

            6.图 图的遍历与最小生成树

            7.最短路径算法等

算法方面我们主要分析以下内容:

            1.算法基本概率与分析方法  时间复杂度和空间复杂度计算方式

             2.蛮力法(冒泡排序,选择排序,顺序查找和蛮力字符串匹配)

            3.分治法(合并排序,快速排序 )

            4.递归算法(二分查找,欧几里德)

            5.希尔排序,堆排序,基数排序

            6.减治法(插入排序,拓扑排序)

            7.深度优先查找和广度优先查找

            8.变治法(高斯消去法, 平衡二叉树)

            9.动态规划

            10.回溯经典算法(八皇后,数独构造算法)

你可能感兴趣的:(前言)