
#分治法
南方-D
乾坤未定,你我皆是黑马
展开
-
算法设计与分析—归并排序
题目描述:归并排序使用排序算法将数组内容进行排序,时间复杂度要低于O(n^2)示例 1:输入: nums = [2, 4, 2, 6, 7, 0, 1]输出: nums = [0, 1, 2, 2, 4, 6, 7]算法实现:解题思路归并算法类似于两个有序数组合并成一个新的有序数组的算法,1、利用递归将数组分为两半,然后再对半分,直到分成单个数据2、将两个分开的有序数据利用归并算法合并成一个新的数组。def mergeSort(nums, left, right, new_num原创 2021-09-30 16:51:07 · 339 阅读 · 0 评论 -
算法设计与分析— 汉诺塔问题(分治法)
算法设计与分析课程练习题:汉诺塔问题(分治法)在经典汉诺塔问题中,有 3 根柱子及 N 个不同大小的穿孔圆盘,盘子可以滑入任意一根柱子。一开始,所有盘子自上而下按升序依次套在第一根柱子上(即每一个盘子只能放在更大的盘子上面)。移动圆盘时受到以下限制:(1) 每次只能移动一个盘子;(2) 盘子只能从柱子顶端滑出移到下一根柱子;(3) 盘子只能叠在比它大的盘子上。请编写程序,用栈将所有盘子从第一根柱子移到最后一根柱子。你需要原地修改栈。a) 算法思路1、先推出表达式,将大问题一直分解成两个小原创 2021-11-07 11:06:39 · 593 阅读 · 0 评论