/** 硬币找零:三个硬币面值2,5,7,希望用最少的硬币数拼出27* 分析:用动态规划解* f[X]:最少的硬币拼出X,设最后一步用a拼出了27,a可以是2/5/7,那么* f[27]=f[27-a]+1,因为不知道a具体是多少,所以,f[27]=min{f[27-2]+1,f[27-5]+1,f ...
分类:
其他好文 时间:
2021-04-16 12:02:09
阅读次数:
0
数组 1、数组中的数据类型是一致的; 2、数组元素在内存中是连续的; 3、数组中每个元素占用空间大小是相同的(length); 4、数组元素存放的是数据的地址的值。 5、查找数组中第i个元素,首个元素的地址address + (i * length),时间复杂度为O(1); 特点: 1、大小固定 2 ...
分类:
编程语言 时间:
2021-04-15 12:32:35
阅读次数:
0
在给定插入位置的前提下,给定结点插入操作,只要局部修改结点的链域即可。 插在表头: 假设已存在一个以 head 为首指针的链表,新插入的结点 “陈” 已经创建完毕,用 p指针 指示。 使结点 “张” 作为结点 “陈” 的后继结点,然后执行 head = p;修改表头指针 head 使其指向新的头结点 ...
分类:
其他好文 时间:
2021-04-15 12:10:37
阅读次数:
0
[面向对象:类与对象、属性查找、一切皆对象] 面向对象编程 核心是对象二字,对象就是盛放相关数据与功能的容器,也可以说是把数据与功能整合到一起的产物 基于该思想编写程序就是在创造一个个的容器 优点:扩展性强() 缺点:编程的复杂度提升 应用场景:需求经常变化的软件,一般需求的变化都集中在用户层,互联 ...
分类:
其他好文 时间:
2021-04-13 12:44:30
阅读次数:
0
比如外存中有100G的字符串文件,1G的内存,对字符串进行排序操作。 1.首先将100G的内容分成若干个小部分,每个部分不超过500MB。分别读取这些小部分进行排序,然后写入到外存中。这样就得到了若干个已经排好序的小部分。 2.多路归并排序,(相对二路归并而言)。对于k个已经排好序的小部分,每次取出 ...
分类:
编程语言 时间:
2021-04-13 12:30:46
阅读次数:
0
P 问题描述:可以在多项式时间复杂度内求解; 举例:二分查找(O(logn))、快排(O(nlogn)) NP 问题描述:可以在多项式时间复杂度内验证是否是可行解的问题;有指数时间复杂度的求解方法;这类问题可以用启发式算法求解,但只能得到一个相对的最优解; 举例:所有P问题(可以在多项式时间复杂度内 ...
分类:
其他好文 时间:
2021-04-13 12:23:13
阅读次数:
0
在进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数,进而分析T(n)随n的变化情况并确定T(n)的数量级。算法的时间复杂度,也就是算法的时间量度,记作:T(n)=O(f(n))。它表示随问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称作算法的渐进时间复杂度,简称为时间复 ...
分类:
编程语言 时间:
2021-04-13 12:03:01
阅读次数:
0
2021-04-09:rand指针是单链表节点结构中新增的指针,rand可能指向链表中的任意一个节点,也可能指向null。给定一个由Node节点类型组成的无环单链表的头节点 head,请实现一个函数完成这个链表的复制,并返回复制的新链表的头节点。 【要求】时间复杂度O(N),额外空间复杂度O(1) ...
分类:
其他好文 时间:
2021-04-10 13:17:53
阅读次数:
0
int func(int n){ int i = 0,sum = 0; while(sum < n) sum += ++i; return i; } 求时间复杂度 A. O(logn) B. O(n^1/2) C. O(n) D. O(nlogn) ++i, i = 1,2,3,4,5,···,k。 ...
分类:
其他好文 时间:
2021-04-10 13:08:02
阅读次数:
0
I.III.CF1009F Dominant Indices 大约一年前,我曾用线段树合并硬刚过了这题,现在是正解。 可以设 \(f_{i,j}\) 表示 \(i\) 子树中深度为 \(j\) 的点的数量。于是直接长剖优化即可。时间复杂度 \(O(n)\)。 虽然因为我极其垃圾的实现导致还没有线段树 ...
分类:
其他好文 时间:
2021-04-10 12:52:09
阅读次数:
0