![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法与数据结构
以数据结构为基础,分析各种算法的时间复杂度和空间复杂度
Carl·杰尼龟
一定要坚持,因为下次努力不知道要等到什么时候
展开
-
关于斐波那契数列题
二十项数之和(斐波那契数列)2/1,3/2,5/3,8/5,13/8…依次类推到第二十项,求20项之和public class Twenty { public static void main(String[] args) { double n1=1; double n2=1; double sum=0; for(int i=0;i<20;i++) {...原创 2019-08-19 22:21:21 · 233 阅读 · 0 评论 -
数组常见算法--打印三角形
代码示例public class Triangle { public static void main(String[] args) { //打印直角三角形 for(int i=0;i<5;i++) { for(int j=0;j<=i;j++) { System.out.print("*"); } System.out.println();...原创 2019-08-18 13:25:46 · 714 阅读 · 0 评论 -
排序算法-希尔排序
目录基本思想希尔排序代码复杂度分析基本思想1.将整个待排序数组分为若干个子序列,相隔固定增量(步长)2.将若干子序列分别进行插入排序,待若干子序列排序完后,缩小增量3.重复步骤24.最后整体再进行一次插入排序(当步长=1时)希尔排序代码 //a[]数组 k步长 public void shellSort(int a[]){ //先获取步长 int h=1;//步长初始化 while(h<(a.length)/2){//a.len原创 2021-07-07 18:09:05 · 229 阅读 · 2 评论 -
排序算法-直接插入排序
目录基本思想插入排序代码复杂度分析基本思想1.把n个待排序数组分为一个有序数组和一个无序数组2.初始有序数组只有一个值(无序数组从索引为1开始,而索引为0的数值作为一个有序数组)3.排序过程中,每次从无序数组中取出一个值,倒序遍历有序数组与该值依次进行比较4.如果有序数组的值大于该值则继续比较,如果小于该值,则插入适当位置,组成新的有序数组插入排序代码 public void insertionSort(int a[]){ for (int i = 1; i <原创 2021-07-07 12:55:20 · 218 阅读 · 0 评论