
算法分析设计
文章平均质量分 68
渣男离我远一点
这个作者很懒,什么都没留下…
展开
-
算法:回溯算法(以解决n皇后问题为例)
基本思想:回溯算法的基本思想是:从一条路往前走,能进则进,不能进则退回来,换一条路再试。八皇后问题就是回溯算法的典型,第一步按照顺序放一个皇后,然后第二步符合要求放第2个皇后,如果没有位置符合要求,那么就要改变第一个皇后的位置,重新放第2个皇后的位置,直到找到符合条件的位置就可以了。是一种以深度优先搜索带以跳跃性搜索的算法。 回溯算法说白了就是穷举法,只不过在进行穷举的过程中,用剪枝函数跳过了一些不必要的搜索,跳过了一些不可能到达最终状态的子节点,减少状态空间树节点的生成 那么我们进行回溯算法比较疑惑的原创 2022-05-29 22:28:09 · 5760 阅读 · 0 评论 -
算法:合并排序(归并排序)分治法
问题描述:对一组乱序的数进行从小到大的排序 合并排序:将两个(或两个以上)有序表合并成一个新的有序表 算法思想:根据分治法的思想,我们可以将这组规模为n的数分解成两组规模为n/2的数,如果子数组中只有一个数则直接返回,否则继续对字数组进行合并排序。排好序后用一个合并函数将两组数合并即可。 伪代码: void merge_sort(int a[],int left,int right){//数组a存的将排序的数,left指向数组第一个元素,right指向数组最后一个元素 if(left==r原创 2022-06-04 00:00:00 · 916 阅读 · 0 评论