时间复杂度 一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数称为语句频度或时间频度。记为T(n) 在刚才提到的时间频度中,n称为问题的规模,当n不断变化时,时间频度T(n)也会不断变化。但有时我们想知道它变化时呈现什么规律。为此,我 ...
分类:
其他好文 时间:
2018-11-15 21:08:22
阅读次数:
199
1、数据结构 1.1、线性表 1.2、栈 1.3、队列 1.4、树 1.5、图 2、排序 2.1、插入排序(Insertion Sort) 算法思想:每趟将一个待排序的关键字,按照其值的大小插入到已经排好的部分序列中。 时间复杂度:O(n*n) 空间复杂度:O(1) 2.2、希尔排序(Shell S ...
分类:
编程语言 时间:
2018-11-15 00:16:35
阅读次数:
166
title: 选择排序 tags: 数据结构与算法之美 author: 辰砂 1.概述 基本思想: 每一趟在后面 n i +1个中选出关键码最小的对象, 作为有序序列的第 i 个记录 详细思想 :给定数组:int[] arr={里面n个数据};第1趟排序,在待排序数据arr[1]~arr[n]中选出 ...
分类:
编程语言 时间:
2018-11-14 14:35:46
阅读次数:
121
1.01背包问题 1.朴素的二维数组解法 dp[i][j]表示前i件物品装入容量是j的背包所能获得的最大价值 状态转移方程是dp[i][j]=(1)dp[i-1][j](在第i件物品装不下的情况下) (2)max(dp[i-1][j],dp[i-1][j-w[i]]+v[i])(装的下的情况下,装和 ...
分类:
其他好文 时间:
2018-11-14 01:11:21
阅读次数:
182
DFS 最一开始想到的就是dfs,从题目给的点开始dfs搜索。 时间复杂度为O(mn) Binary Search 这道题给了一个坐标(x,y),其实是有用意的。如果只是单纯的搜索,我们完全可以搜索整个图。 这道题其实可以用二分来做。由于给定的点是黑的,我们可以从水平和竖直两个方向,分别找到由黑变白 ...
分类:
其他好文 时间:
2018-11-12 11:39:22
阅读次数:
234
【题目】: 给定一个矩阵matrix,按照“之”字形的方式打印这个矩阵,例如: 1 2 3 4 5 6 7 8 9 10 11 12 “之”字形打印的结果为:1,2,5,9,6,3,4,7,10,11,8,12 【要求】: 额外空间复杂度为O(1) ...
分类:
其他好文 时间:
2018-11-12 11:33:38
阅读次数:
123
【题目】: 给定一个N*N的矩阵matrix,把这个矩阵调整成顺时针转动90°后的形式 例如: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 顺时针转动90°后为: 13 9 5 1 14 10 6 2 15 11 7 3 16 12 8 4 【要求】: 额外空间复杂 ...
分类:
其他好文 时间:
2018-11-12 11:31:02
阅读次数:
161
实践题目:数字三角形 题目描述: 算法描述:从下至上依次左右比较,大的那方和上面的数相加,直至第一列。 算法时间和空间复杂度分析:因为用到了双重循环,所以时间复杂度为o(n^2),同时使用了二维数组,所以空间复杂度也是o(n^2). 心得:这道题用从下至上的方法比较简单,要有逆向思维。 ...
分类:
其他好文 时间:
2018-11-11 23:37:41
阅读次数:
230
1.实践题目:7-1 数字三角形 (30 分) 2.问题描述: 给定一个由 n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下或右斜线向下),使该路径经过的数字总和最大。 给定一个由 n行数字组成的数字三角形如下图所示。试设计一个算法,计算出 ...
分类:
编程语言 时间:
2018-11-11 23:36:16
阅读次数:
159
实践题目:求经过数字三角形的最大和 问题描述:从三角形的顶端往下走,求经过数字之和最大的一条路径。 算法描述:把第0行第0列的值全都赋值为零,这样三角形的数a[i][j]就都可以用统一的式子表示了,最后在第n行的时候经过比较得到答案。 算法时间及空间复杂度分析:算法中使用了双重循环,所以该算法的时间 ...
分类:
其他好文 时间:
2018-11-11 23:22:49
阅读次数:
125