自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 手机模式、分区、镜像文件

(一)手机模式1.fastboot模式长按 电源键+音量下键进入adb模式,adb reboot bootloader用途:刷整个系统或者刷某个分区fastboot flash boot boot.img这个命令就是把boot.img的内容刷写到boot分区中2.紧急下载模式(edl )用于工厂空的PCBA的板子,用这种方式刷机fastboot oem edl​用途:在...

2019-12-10 15:56:57 3380

转载 Linux--sendfile零拷贝高效率发送文件

如今几乎每个人都听说过Linux中所谓的"零拷贝"特性,然而我经常碰到没有充分理解这个问题的人们。因此,我决定写一些文章略微深入的讲述这个问题,希望能将这个有用的特性解释清楚。在本文中,将从用户空间应用程序的角度来阐述这个问题,因此有意忽略了复杂的内核实现。什么是”零拷贝”为了更好的理解问题的解决法,我们首先需要理解问题本身。首先我们以一个网络服务守护进程为例,考虑它在将存储在文件中的信息通过...

2018-08-07 16:47:05 850

原创 Linux-inode结点

inode查看命令1.stat功能:列出文件大小,文件所占的块数,块的大小,主设备号和次设备号,inode number,链接数,访问权限,uid,gid,atime,mtime,ctimeruanyang@ruanyang-HP-ProDesk-680-G2-MT:~$ stat go 文件:"go" 大小:3657 块:8 IO 块:4096...

2018-08-07 10:12:15 321 1

原创 快排的优化

快排优化,总结下来有下面五点。优化1:针对最坏情况(当arr已有序,选第一个或最后一个值(即最大值或最小值)做基中点,效率低)会出现劣质的分割。       【随机取基准点】       但是,若数据不是有序的,效率比普通可能更慢优化2:【三分取中】  头 尾 中间-》low  mid  high,mid=(low+high)/2+low        从数组中三个标志位取中间大的值...

2018-08-04 21:37:34 585

原创 快速排序

基本思想:       通过一趟排需将待排记录分割成独立的两部分,其中一部分记录的关键字均比有一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序做法:        附设两个指针low和high,它们的初值分别为low和high,设枢轴(通常选取第一个数)记录的关键字为pivotkey(基中点),      (1)则首先从high(最后一个数)所指位置起向...

2018-08-04 21:34:46 125

原创 桶排序

基本思想:        基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort),它是通过每个数的各个位数,将要排序的元素分配至某些“桶”中,以达到排序的作用,基数排序法是属于稳定性的排序,其时间复杂度为O (nlog(r)m),其中r为所采取的基数,而m为堆数。图解:代码实现:int Fin...

2018-08-04 21:26:20 140

原创 二路归并排序

基本思想:二路归并排序主要运用了“分治算法”,分治算法就是将一个大的问题划分为n个规模较小而结构相似的子问题。二路归并排序主旨是“分解”与“归并”:分:1.一直分两组,分别对两个数组进行排序(根据上层对下层在一组的数据通过临时数组排序,再将有序数组挪回上层数组中)。2. 循环第一步,直到划分出来的“小组”只包含一个元素,只有一个元素的数组默认为已经排好序。合:(合并时,站在...

2018-08-04 21:23:45 5219

原创 冒泡排序

基本思想/步骤:(1)比较相邻的元素。如果第一个比第二个大,就交换他们两个。(2)对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。(3)针对所有的元素重复以上的步骤,除了最后一个。(4)持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。图解:代码实现:void BubbleSort(int ar...

2018-08-04 00:46:54 121

原创 堆排序

概念:父结点、子结点、叶子结点、非叶子结点1、堆分为:(完全二叉树)(1)大根堆:在整个堆中,左子树、右子树的数据都比父结点的数据小。(2)小根堆:在整个堆中,左子树、右子树的数据都比父结点的数据大。2、给出父结点n求子结点左子树:2*n+1右子树:2*(n+1)3、给出子结点n求父结点(n-1)/2举例及思想、步骤:举例:生序排列-调整成大根堆,过程如...

2018-08-04 00:44:24 166

原创 简单选择排序

基本思想:        在待排序数组中选出最小的(或最大)的与第一个位置的数据交换 然后在剩下的待排序数组中找出最小(或最大)的与第二个位置的数据交换,以此类推,直到第n-1个元素。        简单选择排序可以说是冒泡排序的一种改版,它不再两两比较出较小数就进行交换,而是每次遍历比较当前数的后面所有数,最后再把最小的数和当前数进行交换。图解:代码实现:void se...

2018-08-02 17:31:48 23601

原创 希尔排序

基本思想:       先将整个待排序列分割为若干个子序列(不是“逐段分割”,而是将相隔某个“增量”的记录组成一个子序列),分别进行直接插入排序,这样重复几次(增量不断减小 一般是取前一次一半),待整个序列中的记录“基本有序”时,再对全体记录进行一次直接插入排序。        增量:把整个数据,分成几个小组,一般为素数。图解:代码实现:void Shell(int ar...

2018-08-02 17:28:50 97

原创 直接插入排序

基本思想:       先将序列中的第1个记录看成是一个有序的子序列,然后从第2个记录起逐个进行插入,直至整个序列变成按关键字非递减有序序列为止。(每次从左至右未排序的数 与 已排序的数 从右至左比较,再进行插入。)图解:代码实现:void InsertSort(int arr[], int len){ int i;//未排序序列待排序的元素下标 int j;//已排序...

2018-08-02 17:24:49 209

原创 有关时间复杂度的计算

有关时间复杂度的计算时间复杂度:执行的次数和问题规模之间的函数关系。1.计算规则:(1)只考虑高阶项,低阶项直接丢弃;(2)系数不要。2.常见的时间复杂度:增长率由小到大为:常数阶O(1),  对数阶O(log2n),  线性阶O(n),  线性对数阶O(nlog2n),  平方阶O(n^2), 立方阶O(n^3),..., k次方阶O(n^k), 指数阶O(2^n),  阶乘O(

2017-10-22 23:03:14 1124

原创 各种变量特征

变量 生命周期 作用域 默认值 内存区域 链接属性 全局变量 (定义在函数外的变量) 普通全局变量 程序运行时创建,程序退出时销毁 从定义开始到本文件结尾都可以使用 ...

2017-10-18 23:27:03 2629

原创 C语言:内存重叠问题

本文通过一个例子来说明一下关于内存重叠问题的分析与解决方案,大家一起学习学习吧。1.题目:有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数。如下图:void Move(int *arr, int n, int m)//n表示数组长度,m表示需要移到的后半段的数据长度{    if(arr ==NULL || n     {       r

2017-09-29 22:32:58 1378

原创 C语言:const关键字

定义const定义常变量,变量变成只读的权限(即不能作为左值)使用1.数据类型对于const透明,const int == intconsteg:int main(){ const int ca =100;   //error只读权限,ca不能做左值 ca = 100;  //error b = ca;  //ok if(ca  const int cb

2017-09-29 22:31:41 907

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除