程序是类型的证明。 计算机程序是建立在计算机硬件和一系列规则、协议、规范、算法基础之上的; 程序是建立在逻辑和严格证明基础之上的; 逻辑学的基本要素是:概念、判断、推理; 类型系统相当于逻辑和科学中的概念,在此基础上才能进行运算和推理; 编程语言不过是建立了类型系统和在类型系统基础上的一些列运算法则 ...
分类:
编程语言 时间:
2019-04-20 13:07:50
阅读次数:
201
什么是 STL? STL(Standard Template Library)是 C++ 标准模板库,里面提供了大量模板。 队列(先进先出) 加载库:include < queue > 申明:queue < type > name queue中元素在内存中不一定连续。 q.push(x) 向队列 q ...
分类:
编程语言 时间:
2019-04-18 09:27:06
阅读次数:
154
桶排序、计数排序、基数排序的介绍1,非基于比较的排序,与被排序的样本的实际数据状况很有关系,所以实际中并不经常使用 2,时间复杂度O(N),额外空间复杂度O(N) 3,稳定的排序 例子 给定一个数组,求如果排序之后,相邻两数的最大差值,要求时 间复杂度O(N),且要求不能用非基于比较的排序 题目:用 ...
分类:
编程语言 时间:
2019-04-05 18:06:50
阅读次数:
165
基础知识: 支持度:单个项占总项集的百分比,比如薯片的支持度=4/5*100%=80%,可乐的支持度=3/5*100%=60%。 置信度:薯片=>羽毛球的置信度=3/4*100%=75%,可乐=>羽毛球的置信度=3/3*100%=100%。 一、Apriori算法 假设minsupport=0.2, ...
分类:
编程语言 时间:
2019-04-02 16:58:39
阅读次数:
754
例一 给定一个数组arr,和一个数num,请把小于等于num的数放在数 组的左边,大于num的数放在数组的右边。要求额外空间复杂度O(1),时间复杂度O(N) 例一(升级版) 给定一个数组arr,和一个数num,请把小于num的数放在数组的 左边,等于num的数放在数组的中间,大于num的数放在数组 ...
分类:
编程语言 时间:
2019-04-01 17:09:01
阅读次数:
171
网络基础 TCP和UDP的区别 TCP如何保证可靠连接的 算法基础 排序方式 快排、冒泡介绍 其他 如何进行进程间通信的(用python多进程举例) js和python比较(因为我项目中用到了这两种语言,所以面试官就问了下) 从服务器上分布式下载一个大文件 假设你从百度云上下载一个1G的文件,你有1 ...
分类:
其他好文 时间:
2019-03-31 09:37:41
阅读次数:
158
一 算法的定义 算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不 ...
分类:
编程语言 时间:
2019-03-19 17:08:55
阅读次数:
144
今天我们分享一下树状数组,前置知识-了解树的结构,知道什么是左右儿子,各个节点的名称,也就是有点基础吧。今天以一个实际问题引出树状数组吧,中查询l-r的区间。(以B站大佬的课件为例子,可以关注下,在最后放上链接) 如果是暴力的话,显然时间复杂度是接受不了的(o(n方)),为了解决这个问题,我们就要用 ...
分类:
编程语言 时间:
2019-03-17 13:35:41
阅读次数:
183
算法基础 算法 算法(Algorithm):一个计算过程,解决问题的方法 DNiklaus Wirth:“程序=数据结构+算法” 时间复杂度 时间复杂度:用来评估算法运行效率的一个式子 时间复杂度-小结 时间复杂度是用来估计算法运行时间的一个式子(单位)。一般来说,时间复杂度高的算法比复杂度低的算法 ...
分类:
编程语言 时间:
2019-03-17 10:17:00
阅读次数:
251
/// /// 插入排序 ///⒈ 从第一个元素开始,该元素可以认为已经被排序 ///⒉ 取出下一个元素,在已经排序的元素序列中从后向前扫描 ///⒊ 如果该元素(已排序)大于新元素,将该元素移到下一位置 ///⒋ 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置 ///⒌ ... ...
分类:
编程语言 时间:
2019-03-16 23:35:45
阅读次数:
205