![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
方人也WJ
一本正经的胡说八道,面向失业编程的博主!
展开
-
C++实现经典排序算法(二)——选择排序和快速排序
俗话说得好:排序千万种,方便第一种,排序不规范,找bug两行泪。上次写了一篇关于插入排序和冒泡排序的博文,这次再来介绍一下选择排序法和快速排序法。选择排序法,顾名思义就是将需要的数选择出来,再放到需要的地方。...原创 2020-07-15 14:55:17 · 464 阅读 · 0 评论 -
什么是时间复杂度?什么是空间复杂度?
在对一个算法的好坏的评估中,最常用到的就是时间复杂度和空间复杂度。那么问题来了,什么叫做时间复杂度,什么叫做空间复杂度呢?原创 2020-06-12 16:58:27 · 1013 阅读 · 0 评论 -
C++实现经典排序算法(一)——插入排序和冒泡排序
排序算法应该是程序员面试的时候必然会被问到的问题之一。总结起来就下面几个问题:你知道哪些排序算法?具体介绍一下xx排序算法的实现原理xx排序算法的时间复杂度和空间复杂度分别是多少?xx排序算法是稳定的嘛?面对以上几个问题,首先你得知道什么是排序,什么是时间/空间复杂度以及什么叫做稳定排序。首先,排序问题很好理解,就是将无序的一组数据变成有序的(可以是升序也可以是降序)。举个例子,< 3, 2, 5, 4, 7, 9, 0, 1>这一组数据经过你的代码处理后变成了<0, 1,原创 2020-06-09 13:01:31 · 360 阅读 · 0 评论 -
C++回溯算法与八皇后问题
今天想写一篇有关回溯法的问题,但是不知道开头应该介绍些什么东西。所以简单粗暴一点,直接上问题。一种经典的回溯算法就是八皇后问题,何为八皇后问题呢?八皇后问题是一个以国际象棋为背景的问题:如何能够在8×8的国际象棋棋盘上放置八个皇后,使得任何一个皇后都无法直接吃掉其他的皇后?为了达到此目的,任两个皇后都不能处于同一条横行、纵行或斜线上。 ——引自维基百科为了更好的理解,上一张图:图中画×的是满足条件的,画〇则不满足,因为有两个在同一条直线上。那么问题来了原创 2020-06-07 18:21:31 · 1638 阅读 · 4 评论 -
用C++解决约瑟夫环的问题
犹太历史学家弗拉维奥·约瑟夫在他的日记中提到过这么一个问题:他和他的40个战友被罗马军队包围在洞中。它们讨论是自杀还是投降,最终决定采用抽签的方式决定自杀的顺序。算法是这样的:所有人站成一圈,依次报数从1到3,每报到3的则自杀,下一个再从1开始报数。这样,所有人会依次自杀,直到最后一个。那最后一个死不死又有谁知道呢?那么站的位置就显得很重要了,到底站在哪个位置才能最后一个死呢?这便衍生成了一个计算...原创 2020-03-18 21:46:33 · 2246 阅读 · 0 评论