
算法与数据结构
以数据结构为基础,分析各种算法的时间复杂度和空间复杂度
杰尼龟的知识花园
一定要坚持,因为下次努力不知道要等到什么时候
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
关于斐波那契数列题
二十项数之和(斐波那契数列) 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 · 272 阅读 · 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 · 790 阅读 · 0 评论 -
排序算法-希尔排序
目录基本思想希尔排序代码复杂度分析 基本思想 1.将整个待排序数组分为若干个子序列,相隔固定增量(步长) 2.将若干子序列分别进行插入排序,待若干子序列排序完后,缩小增量 3.重复步骤2 4.最后整体再进行一次插入排序(当步长=1时) 希尔排序代码 //a[]数组 k步长 public void shellSort(int a[]){ //先获取步长 int h=1;//步长初始化 while(h<(a.length)/2){//a.len原创 2021-07-07 18:09:05 · 284 阅读 · 2 评论 -
排序算法-直接插入排序
目录基本思想插入排序代码复杂度分析 基本思想 1.把n个待排序数组分为一个有序数组和一个无序数组 2.初始有序数组只有一个值(无序数组从索引为1开始,而索引为0的数值作为一个有序数组) 3.排序过程中,每次从无序数组中取出一个值,倒序遍历有序数组与该值依次进行比较 4.如果有序数组的值大于该值则继续比较,如果小于该值,则插入适当位置,组成新的有序数组 插入排序代码 public void insertionSort(int a[]){ for (int i = 1; i <原创 2021-07-07 12:55:20 · 258 阅读 · 0 评论