java简单逻辑问题
冲气以为和
这个作者很懒,什么都没留下…
展开
-
简单排序---希尔排序
希尔排序(Shell Sort) 希尔排序是插入排序的一种,是对直接插入排序的改进,希尔排序又称缩小增量排序。 基本思想: 对于n个要排序的数,取一个小于n的整数gap,(步长),按照步长的大小 对数组中的元素进行比较排序,将元素插入。将gap的值除二,重复执行,知道gap =1,当gap = 1时,数组就是有序的。 由上图可以看出:希尔排序比插入排序多了一个步长;不用每次都去...原创 2019-11-21 10:53:18 · 140 阅读 · 0 评论 -
杨辉三角
打印杨辉三角 杨辉三角又叫帕斯卡三角,是二项式系数在三角形中的一种几何排序,每行端点与结尾的数为1,每行数字左右对称,由1开始逐渐变大,第n行有n个数字,下一行的每个数字等于上一行的左右两个数字之和。杨辉三角是一个比较神奇的三角,从不通的角度看有不同的性质。我们不用去考虑其性质,只考虑怎样将其用代码表示出来。 方法一: 用简单的for循环加简单递归调用的方法将其打印,具体见代码如下: ...原创 2019-11-14 22:53:46 · 251 阅读 · 0 评论 -
简单排序---插入排序
·基本思想 首先,插入排序关键就是在于插入的方法,插入的方法不同,排序就不同,一种最简单的就是类似于选择排序,就是将数组中的后面的一个元素数组中的最后一个元素比较,如果后面是比前面的小,则交换,否则不交换。这种就是最直接的排序。 ·重点 插入排序,关键就是要比较相邻的元素的大小,然后将小的元素的坐标记下,然后继续向前比较直到没有比他还小的。然后将最后的最小的数和刚开始比较...原创 2019-07-28 17:04:32 · 135 阅读 · 0 评论 -
简单排序---选择排序
·基本思想 首先,我们应该了解什么是选择,其本质是从一个数组里面的第一个数开始,和后面的数开始比较,找到一个最小的数, 然后,让他和第一个数交换。然后又从第二个数开始,以此类推,直到遍历完全g。 ·重点 要明白怎样可以通过不断地比较,将最小的数字比较出来,第一次比较之后,将最小的数往前移动,但是后面可能还会 有更小的数,所以要将你第一次找的最小的数纪录下来和后面...原创 2019-07-28 12:45:41 · 125 阅读 · 0 评论 -
简单排序---冒泡排序
·基本思想: 首先要明白冒泡(bubble),是一种小数下沉,大数上浮的方法,故名冒泡。其基本原理是有一组无序的一组数字,从第一个数字开始,两两相比较变成一个从小到大一个有序的一组数。如果后面的数字比前面的小,则交换,否则,用后面的数字和下一个数字继续比较,直到把这组数字遍历完全。 ·重点 要比较一个数和其他后面的一组数,首先要用到两个嵌套循环,第一个用来记次数(一定注意是...原创 2019-07-27 11:49:30 · 304 阅读 · 0 评论 -
查找问题-----二分查找
首先,查找的方式有很多种方法,比如:二分查找,顺序查找,斐波那契查找,插值查找,但是基本都是基于二分查找的思想。接下来说一下二分的基本实现方法。 ·基本思想 二分查找的思想其实很简单,就是不断地将你所要查找的数字和你所查找的数组中的最中间的数字比较,如果比数组中的中间的数字大,则将该数组中的前面的所有的数字全部忽略,然后从后面的数组开始比,如此反复,直到找到该数字,或者数字...原创 2019-08-05 12:00:14 · 138 阅读 · 0 评论 -
结构相似问题----递归
递归:可以通过重复将问题分解,成为相同类型的子问题,进而解决这个问题,能用循环去解决的问题基本都可以用递归去解决,在高级程序设计的过程中,有几个最基本的语句:循环,顺序,判断。这些组成程序的具体实现的方法。递归的方法比较浪费内存空间,但是效率高,代码少。 ·基本思想 一个函数或者过程在定义或者在说明中有直接或者间接调用自身的一种方法。通常将复杂问题层层转化为小的问题去解决。递归也是...原创 2019-08-05 23:53:24 · 259 阅读 · 0 评论