问题 解释一下算法复杂度 答案 算法一般包括以下衡量指标:正确性、可读性、健壮性、良好的时空效率,其中的时空效率就是对算法复杂度的衡量。 算法的效率一般由以下因素决定: (1)算法采用何种策略,排序算法中快速排序就快于冒泡排序 (2)问题的规模,寻找10以内的质数显然快于寻找1000以内的质数 (3 ...
分类:
编程语言 时间:
2020-03-31 19:01:35
阅读次数:
65
AC自动机 ~~Accepted~~ Aho Corasick 性质 AC自动机/AC算法 (Aho Corasick automaton),是著名的多模式串匹配算法。 前置知识 1. 字典树( 重要 ) 2. KMP算法(了解Next数组的作用) 典例与算法复杂度分析 典型例题是:给定一个主串 S ...
分类:
编程语言 时间:
2020-03-27 09:11:10
阅读次数:
73
一、什么是二分查找 二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列 二、算法复杂度 二分查找的基本思想是将n个元素分成大致相等的两部分,取a[n/2]与x做比较,如果x=a[n/2],则找到x ...
分类:
其他好文 时间:
2020-03-24 00:50:07
阅读次数:
74
时间复杂度 时间复杂度的分析 只关注循环执行次数最多的一段代码,因为使用大O表示法,其他执行次数较少的复杂度可以忽略 加法法则:总复杂度等于量级最大的那段代码的复杂度 乘法法则:嵌套代码的复杂度等于嵌套内外代码复杂度的乘积 常见的时间复杂度示例 复杂度从低阶到高阶为:(复杂度越高阶,执行效率越低) ...
分类:
编程语言 时间:
2020-03-23 22:25:12
阅读次数:
106
算法复杂度分为时间复杂度和空间复杂度。 其作用: 时间复杂度是指执行算法所需要的计算工作量; 而空间复杂度是指执行这个算法所需要的内存空间。 (算法的复杂性体现在运行该算法时的计算机所需资源的多少上,计算机资源最重要的是时间和空间(即寄存器)资源,因此复杂度分为时间和空间复杂度)。 简单来说, 时间 ...
分类:
编程语言 时间:
2020-03-23 20:15:53
阅读次数:
78
数据结构 算法复杂度 时间复杂度 事件频度 一个算法花费的时间与算法种语句的执行次数成正比,哪个算法种语句执行次数多,它花费时间就多。 一个算法中的语句执行次数称为语句频度或时间频度。记为T(n) eg:计算1 100的和 方法一:for循环 T(n) = n + 1 方法二:直接计算 T(n) = ...
分类:
编程语言 时间:
2020-03-23 20:08:35
阅读次数:
68
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6暴力:暴力列举所有可能的连续子数组,算法复杂度O(N^3)算 ...
分类:
其他好文 时间:
2020-03-22 18:15:22
阅读次数:
102
转自y神,链接https://www.acwing.com/blog/content/32/ ...
分类:
编程语言 时间:
2020-03-16 23:40:43
阅读次数:
66
1.公有私有保护继承 2.多态 3.数组与链表的异同 4.队列与栈的异同 5.获取触摸屏信息的函数 6.linux系统文件类型 7.TCP/UDP通信 8.三次/四次握手 9.CJSON 10.进程与线程 11.算法复杂度 目前就问了这些,这家公司一面上来就是技术面,吓到我了,这些都不怎么答得上来, ...
分类:
其他好文 时间:
2020-03-10 15:43:34
阅读次数:
54
排序算法 地址:https://www.cnblogs.com/onepixel/articles/7674659.html 各种排序算法复杂度 冒泡排序 (稳定) 比较相邻的元素,如果第一个比第二个大,就交换它们两个。 重复执行。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在 ...
分类:
其他好文 时间:
2020-03-05 01:36:24
阅读次数:
79