算法
第五枫咏
这个作者很懒,什么都没留下…
展开
-
C#二维数组练习之求二维数组最大值以及求对角线的和
二维数组最大值查询有⼀个3⾏4列的⼆维数组,要求编程找出最⼤元素,并输出所在的⾏和列。其实很简单,就是两两比较保存角标就行。直接上代码: //首先定义一个3⾏4列的二维数组并初始化 int[,] testArr01 = new int[3, 4] { { 34, 25, 60, 43 }, ...原创 2020-02-17 21:10:50 · 3335 阅读 · 0 评论 -
十大排序算法之选择排序
选择排序选择排序是一种简单直观的排序方法。它的基本算法思想就是遍历一组数据,选一个最大或最小的放在首位,然后再遍历后选一个第二大或第二小的放在第二位,以此类推,直到结束。这个算法思想很容易理解,我们直接看代码(C#实现): //定义一个整型数组 int[] arr01 = new int[] { 9, 1, 4, 3, 2, 8, 6, 7, 5, 0 };...原创 2020-02-17 14:21:02 · 283 阅读 · 0 评论 -
十大排序算法之冒泡排序
冒泡排序冒泡排序是一种简单的排序方法。基本的算法思想就是对要排序的一组数据进行一遍遍的遍历,每次遍历都对相邻的元素进行比较且调整顺序,直到这组数据没有需要调整的地方,排序完成。下面先用文字叙述一下该排序算法(升序):1.比较相邻的元素。如果第一个比第二个大,就交换他们两个,从头一直比到尾,这样最终,队尾的数字应该就是最大的数。2.重复操作以上步骤,除了最后一个数3.每次都会比上次的遍历...原创 2020-02-17 13:55:53 · 275 阅读 · 0 评论 -
十大经典排序算法之插入排序
插入排序**说起排序算法,最先要说的就是插入排序。**因为它简单且稳定。那么什么是插入排序呢?例如:有一组数据已经有序(不论升序降序)的排列好了,这时候我们需要在这组数据中再插入一个数据,并且要求该组数据依然有序,那么这个时候我们就可以使用插入排序算法解决问题。算法思想(我们以数组的操作举例(升序)):1.首先,包含两个以上元素的数组才需要排序。所以我们就从数组的第二个元素开始。2...原创 2020-02-17 13:11:25 · 224 阅读 · 0 评论 -
螺旋矩阵
螺旋矩阵的实现以及代码优化螺旋矩阵是指一个呈螺旋状的矩阵,如下图所示,就是一个边长为5(笔者个人称一个数字边长为1)的螺旋矩阵。算法思想1.首先,读者可以先自行画出边长为3,4,5的螺旋矩阵观察。不难得出可以将每四个指向箭头定义成一个圈。每个圈都是从左到右–从上到下–从右到左–从下到上递增1。因此,找出每个圈的起始位置,依次往后赋值即可完成此算法。2.第一个圈的第一个数必为1。因此可...原创 2019-07-13 10:12:52 · 13801 阅读 · 2 评论 -
斐波那契数列的算法实现
斐波那契数列(Fibonacci sequence)斐波那契数列是指形如{1,1,2,3,5,8,13,21…}的一组数列。它的数学定义如下:f(1)=1,f(2)=2,f(n)=f(n-2)+f(n-1)[n>=3,n为正整数]斐波那契的应用很广,具体笔者不赘述,本篇blog主要写一下它的代码实现。首先是Java中的一般实现public static void main(Stri...原创 2019-07-13 22:46:25 · 534 阅读 · 0 评论