数据结构和算法
toaksg
这个作者很懒,什么都没留下…
展开
-
冒泡排序
两个相邻的元素互相比较,符合条件就交换位置。原创 2017-11-22 22:20:43 · 212 阅读 · 0 评论 -
二分法查找
用二分法查找数组中某一个元素的下标。ps:二分法查找只适用于有序数组。原创 2017-11-22 21:20:30 · 581 阅读 · 0 评论 -
选择排序
第一轮:第一个元素和它后面的元素比较,符合条件就交换位置。第二轮:第二个元素和它后面的元素比较,符合条件就交换位置。以此类推。以排正序为例,每比较一轮,小的元素都置在前面,比较次数也依次减少。这个没有泡泡上冒翻滚的感觉,画面是拿出最小的,拿出第二小的,拿出第三小的……有针对性地挑选。原创 2017-11-22 23:54:43 · 171 阅读 · 0 评论 -
插入排序
将一个元素在已排好序的数组里选择合适的位置插入。若将数组的第一个元素作为最初已排序部分,则可以对一个数组进行排序。原创 2017-11-24 14:13:58 · 197 阅读 · 0 评论 -
栈和队列
栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。原创 2017-11-25 20:17:06 · 272 阅读 · 0 评论 -
树搜索:深度优先和广度优先
在Android开发中,有时候会遇到多层级列表的显示,如下图,可用RecyclerView实现。 其数据源的数据结构是一种树状结构,如下图: 现在有两种方法来遍历这种数据结构。 深度优先搜索 其过程简要来说是对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能访问一次。 举例说明之:据上图,我们从A点开始发起深度优先搜索,则可能得到如下的访问过程:A→B→E,没有...原创 2018-05-07 17:48:02 · 7144 阅读 · 1 评论