算法学习
雨落弦起
something for nothing
展开
-
算法day6 二叉树的遍历与求最大宽度。
3.2 非递归行为实现后序遍历 思路:首先准备两个个栈,一个容器栈,一个收集栈,起步将头节点扔到容器栈里面去. 然后:1.弹出容器栈的栈顶元素扔到收集栈中去 2.将该元素先左孩子后右孩子放到容器栈中去,如果没有则跳过 3.重复1和2,直到栈空,然后将收集栈中的节点依次到出来,就是后序遍历。3.3 非递归行为实现中序遍历 思路:首先将整棵树的左边界进栈,依次弹出的过程中:弹出就打印,如果弹出的节点有右节点,对它的右数也这么干,即右数的左边界进栈,然后弹出。原创 2022-10-02 13:32:02 · 413 阅读 · 0 评论 -
算法day5 链表
【代码】算法day5 链表。原创 2022-09-22 21:45:42 · 152 阅读 · 0 评论 -
算法day4 基数排序
【代码】算法day4 基数排序。原创 2022-09-20 21:56:30 · 129 阅读 · 0 评论 -
算法day4 堆排序 ----二叉树版的冒泡排序?
*** 放入的数现在在index位置,往上窜形成大根堆的过程** @param arr 数组* @param index 新来的数现在所在的位置*///放入的数逐渐形成大根堆的过程,每一个新进来的元素都要找它的父节点比较,如果大于父节点,则交换,直到它没有父节点或者它比父节点小的时候停止while (arr[index] > arr[(index - 1) / 2]) { //当它没有父节点,index=0时,算出的(index-1)/2也会是0,不满足大于条件,停止。原创 2022-09-20 21:50:24 · 670 阅读 · 0 评论 -
算法day4 java比较器
@Override //类本身实现,如果不传外部比较器,则系统默认使用该比较策略}@Override'}';}}//按id升序的比较器@Override//返回正数时,表示o1大于o2,所以o2在前面(从小到大)}}//按年龄降序的比较器@Override}}System.out.println("排序前: "+Arrays.toString(students));原创 2022-09-20 21:42:56 · 165 阅读 · 0 评论 -
算法day3 快速排序详解与荷兰国旗问题
快速排序详解与荷兰国旗问题原创 2022-09-19 18:09:23 · 213 阅读 · 0 评论 -
算法day2 归并排序及求小和问题
归并排序详解以及由归并排序扩展出来的求小和问题原创 2022-09-18 18:55:51 · 92 阅读 · 0 评论 -
算法day1 常见排序算法
常见排序算法原创 2022-09-17 17:48:09 · 202 阅读 · 0 评论 -
算法 day1 ---- 异或在Coding中的妙用
算法 day1 ---- 异或,异或实现交换数组中的两个数,在一个数组中,只有一个数出现奇数次,其余数都出现偶数次,求这个数?在一个数组中,有两个数a,b出现奇数次,其余的都出现偶数次,求a,b?原创 2022-09-17 17:33:06 · 99 阅读 · 0 评论