03 2020 档案
摘要:1.归并排序 归并排序采用的思想是分而治之,简单来说,就是将一个待排序的序列,不断划分,最终得到有序的序列(只剩一个元素的序列就是有序序列),然后将这些有序的序列进行合并,第一次合并将只有一个元素序列的有序子序列进行合并,就会得到有两个元素序列的有序子序列,然后进行第二次合并,将有两个元素序列的有序
阅读全文
摘要:1.五子棋是一比较容易写的小游戏,很适合用来练手,作为练手,不必弄太复杂,所以就不弄电脑AI了,只是玩家之间的对战(AI下次再写)。 2.五子棋的难点在于如何判断输赢,其实很简单。每次下棋,就判断该棋子的四个方向,横竖方向,还有两个对角线(分成四个部分,左上,左下,右上,右下)方向是否满足五个棋子。
阅读全文
摘要:1.之前介绍的冒泡和选择排序都是适用于少量的数据,一旦数据量比较大,效率就很低的,因为他们的时间复杂度是O(n²)。 2.今天介绍一种算法不是很难,速度很快的排序算法,快速排序。 一 快速排序 1)通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后
阅读全文
摘要:1.选择排序:首先在未排序序列中找到最小或最大元素,存放到排序序列的起始位置,再从剩余未排序元素中继续寻找最小或最大元素,然后放到已排序序列的末尾。重复第二步,直到所有元素均排序完毕 2.选择排序和冒泡排序原理差不多,都是相邻两个元素进行比较,然后选择最大或最小的出来,但选择排序是记录最大或最小元素
阅读全文
摘要:1.排序算法在编程中必不可少,也很常用,是必须要学的。 2.就我本人看来,最适合练习各种算法的语言非C语言不可。C语言本身语法简单直接明了,没有太多的封装,很适合描述算法的各步骤。 一 .冒泡排序 1)冒泡排序在排序算法中比较常见,也很简单,适合数据量不是很大的程序,适合日常使用。 2)冒泡排序的原
阅读全文
摘要:1.个人认为,学编程最重要的是多动手写代码,只有你真正去写,你才能发现自己的问题所在,发现并改正,你的能力就能得到提升。对于大多数人而言,你踏踏实实把所学到的知识理解并运用好,你就能成为一个不错的程序员。 2.写一些小游戏用于练习是一个很不错的选择,代码量不算多,也不算少,既可以巩固知识,又可以提升
阅读全文
摘要:指针用的好犹如神助,用不好会让你叫苦连连,但大多数人是用不好指针的,所以后来的很多语言都把指针封装,屏蔽。比如JAVA,java是没有指针的,但是很多地方都用到指针,不过不对用户开放,语言的自身机制帮用户处理指针的分配释放,为的就是方便用户使用,减少错误。不过我们不能因噎废食,指针虽难,但学好了会大
阅读全文