
算法
hellowork10
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
堆排序、单链表排序
为什么要用堆排序呢?那么复杂,别的排序不行么?可能真不行呢看看这个图就会发现,堆排序的时间复杂度(nlogn)空间复杂度(1),这就是为什么要选用他的原因了。其他算法你可能都会,但面试官就考堆排序,因为这个算法更优堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆。算法步骤创建一个堆 H[0……n-1];把堆首(最大值)和堆尾互换;把堆的尺寸缩小 1,并调用 shift_down(0),目的是把新原创 2020-05-15 16:47:37 · 1300 阅读 · 0 评论 -
二叉树遍历:广度优先、深度优先
二叉树遍历:广度优先、深度优先广度优先又叫层次遍历,从上往下对每一层依次访问,在每一层中,从左往右(也可以从右往左)访问结点,访问完一层就进入下一层,直到没有结点可以访问为止。又叫层次遍历,从上往下对每一层依次访问,在每一层中,从左往右(也可以从右往左)访问结点,访问完一层就进入下一层,直到没有结点可以访问为止。广度优先遍历:35 20 40 15 29 50 16 28 30 45 55...原创 2020-05-06 22:30:44 · 392 阅读 · 0 评论 -
算法_链表相关算法
1、输入一个链表,按链表从尾到头的顺序返回一个ArrayList思路:创建一个栈来作为中间介质,先把链表中的值都压进栈中,然后再把栈中的元素添加到链表中;import java.util.ArrayList;import java.util.Stack;public class Solution { public ArrayList<Integer> printList...原创 2020-04-15 18:40:29 · 204 阅读 · 0 评论 -
排序算法分为两种:比较算法、非比较算法
排序算法分为两种:比较算法、非比较算法1、比较算法时间复杂度O(nlogn) ~ O(n^2)冒泡排序、选择排序、插入排序、归并排序、堆排序快速排序2、非比较排序O(n)计数排序、基数排序、桶排序特点:排序算法的稳定性:如果Ai = Aj,排序前Ai在Aj之前,排序后Ai还在Aj之前,则称这种排序算法是稳定的排序算法如果是稳定的,那么从一个键上排序,然后再从另一个键上排序,前一个键排...原创 2020-04-15 15:27:54 · 1230 阅读 · 0 评论