![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法整理
有点儿文艺气息的小李
这个作者很懒,什么都没留下…
展开
-
算法整理2——冒泡排序_快速排序_归并排序
1. 冒泡排序 解:冒泡排序是一种很经典的排序,它的思路就是不断遍历数组,每一次遍历,都用当前数字和后一位数字比较,假设升序排序,如果前者大于后者,就将这两者进行交换。这样每一次遍历,都可以将最大的数字沉到底,换一种想法,就好像把最小的数字冒到最上面。因为要这一位和后一位进行比较,所以第一次遍历,到n-2为止,不然会数组越界。再者每一次遍历都会将最大的数字沉到底,所以下一次遍历不用再理会这个数字,所以遍历的次数就应该少一次。时间复杂度是O(n^2)下面给出C++实现代码: #include<iostr原创 2020-10-13 21:05:42 · 133 阅读 · 0 评论 -
算法整理1——全排列问题_二分搜索_递归解决棋盘覆盖问题
1. 全排列问题 问题描述:给你一个数字m,问1~m这几个数字有多少种排列方案,输出每一种排列方案。 解:这是一个全排列问题。解决这个问题可以采用深度优先搜索的思想,即先确定第一个位置的数字(将这个数字加入队列),在第一个数字确定的前提下,递归再确定第二个数字(将这个数字加入队列)……这样,直到确定第m个数字。这就是满足要求的方案中的一种,此时输出整个队列的数字,这也是递归的边界条件。 #include<iostream> using namespace std; bool vis[19];//原创 2020-10-10 21:04:29 · 335 阅读 · 0 评论