摘要:
1.什么是VMware虚拟机 VMware虚拟机是一个虚拟机软件,它可以在一台机器上同时运行多个系统,这些系统包括Windows,Linux,Apple os等。 2.虚拟机有什么用 虚拟机的用处很多,可以测试病毒木马,测试软件,配置各种开发环境,体验各种操作系统等等。对于学计算机的来说,都应该学会 阅读全文
摘要:
1.希尔排序 希尔排序是对直接插入排序的一种改进,基本思想是隔一定间隔取元素组成一组元素,然后对这组元素进行直接插入排序,所有元素排序完一次后。间隔减少,再进行同样的操作,直到间隔变为1,这时就是直接插入排序了,因为经过前面的步骤,元素大多数都是有序了,直接插入排序,对有序序列的效率是很高的。 2. 阅读全文
摘要:
1.八皇后问题 在 8×8 格的棋盘上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。 2.思路 这问题很适合用回溯的思想解决。首先在第一行第一列放第一个皇后,然后在第二行第一列放第二个皇后,这时对第二个皇后的列和两个斜线的方向进行判断,看是否能攻 阅读全文
摘要:
1.插入排序 插入排序的原理很简单,就是将待排序的元素和已排序好的元素进行比较,找到合适的位置进行插入。 例子:2 1 5 3 6 4(升序排序) 1)将第一个元素看成已排序好的序列,从第二个元素开始比较,先用一个临时变量 temp 存放第二个元素的值。开始比较,1 比 2 小,所以把2赋值给1的位 阅读全文
摘要:
1.问题:给出一个字符串,找出其中无重复字符最长子串 abcbc 最长无重复子串是abc 长度是3 2.方法一,暴力法 我们可以找出每一个子串,然后找到最长的无重复字符的子串就可了,方法简单粗暴。 代码如下: 1 #include<stdio.h> 2 #include<string.h> 3 // 阅读全文
摘要:
1.堆排序 堆排序是用堆这种数据结构所设计的一种排序算法,近似一颗完成二叉树,同时具有一个特性,父节点的值大于(小于)子节点的值。 堆分两种,父节点比子节点大的叫最大堆,父节点比子节点小的叫最小堆 下面就是一个最大堆 2.堆排序步骤 以最大堆为例,假设有n个元素, 1)构造最大堆 2)交换根节点与第 阅读全文
摘要:
1.归并排序 归并排序采用的思想是分而治之,简单来说,就是将一个待排序的序列,不断划分,最终得到有序的序列(只剩一个元素的序列就是有序序列),然后将这些有序的序列进行合并,第一次合并将只有一个元素序列的有序子序列进行合并,就会得到有两个元素序列的有序子序列,然后进行第二次合并,将有两个元素序列的有序 阅读全文
摘要:
1.五子棋是一比较容易写的小游戏,很适合用来练手,作为练手,不必弄太复杂,所以就不弄电脑AI了,只是玩家之间的对战(AI下次再写)。 2.五子棋的难点在于如何判断输赢,其实很简单。每次下棋,就判断该棋子的四个方向,横竖方向,还有两个对角线(分成四个部分,左上,左下,右上,右下)方向是否满足五个棋子。 阅读全文
摘要:
1.之前介绍的冒泡和选择排序都是适用于少量的数据,一旦数据量比较大,效率就很低的,因为他们的时间复杂度是O(n²)。 2.今天介绍一种算法不是很难,速度很快的排序算法,快速排序。 一 快速排序 1)通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后 阅读全文
摘要:
1.选择排序:首先在未排序序列中找到最小或最大元素,存放到排序序列的起始位置,再从剩余未排序元素中继续寻找最小或最大元素,然后放到已排序序列的末尾。重复第二步,直到所有元素均排序完毕 2.选择排序和冒泡排序原理差不多,都是相邻两个元素进行比较,然后选择最大或最小的出来,但选择排序是记录最大或最小元素 阅读全文