- 博客(12)
- 资源 (1)
- 收藏
- 关注
原创 排序算法(三)—— 桶排序和计数排序
桶排序、计数排序时间复杂度是线性的O(n),因而也叫线性排序,这两个算法是基于非比较的排序算法,不涉及元素之间的比较。1. 桶排序(Bucket sort)桶排序的核心思想是把要排序的数据分组放到桶里,然后再把每个桶里的数据单独进行排序,之后把数据取出,组成的序列就是有序的了。主要应用于处理数值分布比较均匀但是数据量很大的场景。相对来说,我们一般使用的排序算法的时间复杂度在nlog(n)到...
2018-11-03 04:08:36
1143
原创 scrapy框架安装及简单例程
1. 安装scrapy爬虫框架命令行pip install scrapy.一般会出现twisted安装失败的信息,原因是没有获取正确的windows版本,这时候到https://www.lfd.uci.edu/~gohlke/pythonlibs/ 下载twisted,打开链接后直接ctrl+F搜索Twisted,下载对应版本,比如我是64位Windows然后到下载目录cmd执...
2018-09-14 10:05:30
391
原创 排序算法(二)快速排序和归并排序
之所以把归并排序和快速排序放一起,是因为这两种方法其实很类似,两者都是讲数列细分到0或1个单位,但是快排在细分的过程中会将排序做好,而归并排序是先执行细分这个过程,然后把细分的数据有序合并,过程比快排稍微繁琐一点3.快速排序快速排序是通过一趟排序将待排数列分隔成独立的两部分,其中一部分记录的新序列比另一份小,则可分别对这两部分继续进行排序,最后整个数列就是有序的。步骤:1. ...
2018-08-22 03:12:25
550
原创 排序算法(一)选择排序和冒泡排序
1. 选择排序:选择排序是一种很简单直观的排序方法,就是在未排序的数据中挑选出最大或者最小的元素,存放到已排序数据的末尾。简单的讲,就是每次都把最大或者最小的数据挑选出来,然后依次组成新的序列。假设有数据{1,4,6,8,3,4,0,2,14},要按照从大到小进行排序那么我们在第一次循环中,从第一个数据‘1’开始比较,最后挑选出最大‘14’,放到数组的第一个索引处,在第二次循环中,...
2018-08-18 03:34:37
1006
原创 TS码流解析(3)PSI/SI解析
3. PSI/SI表PSI/SI表的构成是:一个表由一个或多个子表构成,表用table_id来标识;不同的子表由table_id和table_id_extension来区分(具有相同的table_id和不同的table_id_extension);一个子表由一个或多个段构成(具有相同的table_id和table_id_extension,不同section_number来区分);每个段由多个...
2018-01-03 08:47:34
4119
原创 TS码流解析(2) Section
2. Section2.1 Section的概念一个TS数据包的最大净荷为184个字节,当一个PSI/SI表的字节长度大于184字节时,就要对这个表进行分割,形成段(section)来传送。分段机制主要是将一个数据表分割成多个数据段。在PSI/SI表到TS包的转换过程中,段起到了中介的作用。由于一个数据包只有188字节,而段的长度是可变的,EIT表的段限长4096字节,其余PSI/S
2017-11-28 20:17:45
2615
原创 TS码流解析
实习期间做了一个TS码流解析的项目,总结了一些知识,分享给大家,可能会有写错漏,欢迎指正1. TS1.1 TS流与其他流的关系ES(Elementary Stream): 基本码流,不分段的音频、视频或其他信息的连续码流。PES(Packetized Elementary Stream):分组的基本码流,将基本码流ES流根据需要分成长度不等的数据包,并加上包头就形成了打包的基本
2017-10-10 19:08:24
4460
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人