至尊灬宝
码龄7年
关注
提问 私信
  • 博客:77,781
    77,781
    总访问量
  • 26
    原创
  • 537,182
    排名
  • 14
    粉丝
  • 0
    铁粉

个人简介:为学日益,为道日损

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
  • 加入CSDN时间: 2018-04-24
博客简介:

qq_42058590的博客

查看详细资料
个人成就
  • 获得32次点赞
  • 内容获得3次评论
  • 获得172次收藏
创作历程
  • 2篇
    2019年
  • 24篇
    2018年
成就勋章
TA的专栏
  • c++的改善
    2篇
  • c的加深
  • 数据结构与leetcode
    6篇
  • 算法
    5篇
  • linux
    5篇
  • 操作系统
    1篇
  • 计算机网络
    8篇
  • 面经
  • python
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

342人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

linux制造iso镜像和镜像挂载

linuix下使用mkisofs命令进行制作iso镜像,在之前要先安装genisoimage主要命令:mkisofs -J -R -o test.iso ./test.xx-J -joliet 生成joliet格式的文件joliet是用于Windows环境下使用的光盘-R -rock 生成Rock Rigde目录格式信息Rock Ridge用于Unix/Linux环境...
原创
发布博客 2019.03.03 ·
451 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

python中基本语法学习记录(一)

一:python中append与extend的区别:list.append(object) 向列表中添加一个对象object。不能整合list.extend(sequence)把一个序列seq的内容加到列表中。 二:pdb调试单步调试:python -m pdb xxxx.py多步调试:import pdbpdb.set_trace() 三:superv...
原创
发布博客 2019.02.23 ·
251 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

各种排序的深入和对不同数据的处理的性能分析(二)

延续上一篇博客,上一篇讲了排序算法O(n2)的算法和优化,还有针对什么情况下的数据什么排序更有效的问题的详解,今天来谈谈看O(nlogn)的排序的实现和优化,以及对应的数据情况分析。第一:归并排序:归并排序的算法思路就是:分而治之,先划分成小数组,然后再两两合并,最后合并成一个最终的数组。下面个代码实现:void megre(int a[],int first,int mid,i...
原创
发布博客 2018.12.13 ·
227 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

各种排序的深入和对不同数据的处理的性能分析(二)

延续上一篇博客,上一篇讲了排序算法O(n2)的算法和优化,还有针对什么情况下的数据什么排序更有效的问题的详解,今天来谈谈看O(nlogn)的排序的实现和优化,以及对应的数据情况分析。第一:归并排序:归并排序的算法思路就是:分而治之,先划分成小数组,然后再两两合并,最后合并成一个最终的数组。下面个代码实现:void megre(int a[],int first,int mid,i...
原创
发布博客 2018.12.13 ·
227 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

对setsocketopt()的解析

今天在看怎么禁用TCP中的negle算法,学习到了setsockopt函数。下面分享一下setsockopt函数的调用和参数详解:int Err=setsockopt(int sockfd,int level,int optname,const void* optval,socklen_t optlen);第一个参数就是套接字名sockfd;第二个参数是使用的协议,有以下三种:SO...
原创
发布博客 2018.12.11 ·
997 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

socket网络编程,基础函数的使用和需要注意的地方

先写一个不管是网络编程还是其他编程都很有用的小技巧:包裹函数:int Socket(int domain,int type,int protool){ int sockfd; if((sockfd=socket(domain,type,protool))<0){ perror("socket error!"); exit(1); }}...
原创
发布博客 2018.12.09 ·
282 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

DNS原理及过程

DNS域名系统,给域名系统DNS(Domain Name System)是因特网使用的命名系统,用来把便于人们使用的机器名字转换成为IP地址。域名系统其实就是名字系统。为什么不叫“名字”而叫“域名”呢?这是因为在这种因特网的命名系统中使用了许多的“域(domain)”,因此就出现了“域名”这个名词。“域名系统”明确地指明这种系统是应用在因特网中。域名到IP地址的解析过程的要点如下:当某一个应用...
原创
发布博客 2018.12.09 ·
236 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

在浏览器中输入一个网址后的全过程

这是一个笔试面试基本上常考的一个题,主要他涵盖的知识点非常非常的广,针对里面的知识点也可以进行深入。首先,写一下全过程的简写:1.在客户端浏览器中输入URL。2.发送到DNS(域名服务器)获得域名对应的web服务器的IP地址。3.客户端浏览器与web服务器建立tcp连接.4.客户端浏览器向对应IP地址的WEB服务器发送相应的http或https请求。5.WEB服务器响应请求...
原创
发布博客 2018.12.08 ·
2378 阅读 ·
1 点赞 ·
0 评论 ·
10 收藏

二叉搜索树的删除和插入操作

最近在复习红黑树,红黑树实现的代码实在是过多,插入又要左旋右旋,又要变颜色什么的,这里我先对二叉搜索树的操作进行回忆和整理,然后在是avl,再到红黑树。对于二叉搜索树,构建一颗二叉搜索树和查找二叉搜索树中的某个值都是十分简单的操作,在这里主要写一下二叉搜索树的删除和插入操作,当然这其中的操作,肯定是二叉搜索树的删除操作显得更加复杂一点:删除remove:对于删除操作,主要就是主要一下几...
原创
发布博客 2018.12.05 ·
350 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

各种排序的深入和对不同数据的处理的性能分析(一)

先说O(n2)的排序:冒泡排序:冒泡排序就是最简单的一个排序,而且基本上在工程上也没有人用了,思想就是全部遍历一遍,然后每一个元素都往前冒泡。下面上代码,对于冒泡,我做了两个优化,一个是双向冒泡,一个是标志位,如果一趟冒泡下来没有发生交换,则整体有序:void buffersort(int a[], int n) { for (int i = 0; i < n; i++)...
原创
发布博客 2018.11.29 ·
181 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

各种排序的深入和对不同数据的处理的性能分析(一)

先说O(n2)的排序:冒泡排序:冒泡排序就是最简单的一个排序,而且基本上在工程上也没有人用了,思想就是全部遍历一遍,然后每一个元素都往前冒泡。下面上代码,对于冒泡,我做了两个优化,一个是双向冒泡,一个是标志位,如果一趟冒泡下来没有发生交换,则整体有序:void buffersort(int a[], int n) { for (int i = 0; i < n; i++)...
原创
发布博客 2018.11.29 ·
181 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

对蓄水池算法的解析和应用

今天写一个10万个数据的消息队列,对里面的数据输入和输出感觉并没有达到完全随机的地步,这让我想起了我之前学习过的蓄水池算法,然后就自己手撸了一个感觉比较满意的随机池。蓄水池算法:所谓的蓄水池算法,其实很简单:先给一个概念一个很大的文件,我要随机取其中的某一行,先选第一行,然后第二行以1/2的几率决定要不要替换第一行,第三行以1/3的几率要不要替换,直到最后一行,然后每一行的几率都是一样的。...
原创
发布博客 2018.11.25 ·
451 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

对使用消息队列进行进程间通信的一些笔记

首先,你得先定义一个消息队列的缓存结构,然后消息队列里我觉得最重要的函数是以下几个:第一:创建和打开消息队列:msg_id=msgget(消息队列的名字,IPC_CREAT|0666);第二:把消息添加到消息队列里面去:msgsnd(msg_id,&消息缓存,sizeof(要放数据的字节大小),0);第三:把消息从消息队列中取出来一个:msgrcv(msg_id...
原创
发布博客 2018.11.24 ·
259 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

字符串的匹配(KMP和sunday算法详解)

之前一直用的kmp来做字符串的匹配题目,直到今日才知道还有sunday这种高效又简单的算法,虽然不能百分之一万的保证准确性,我也没有看sunday算法的相关证明,不过学习了之后确实觉得巧妙,今天我就好好写写这两种算法。第一 经典的kmp:kmp的核心就是求next数组,而求next数组,主要就是以下几步:每一个next[i]的值都代表着i前面的字符的最大回文长度。因此,我们设next[0...
原创
发布博客 2018.11.19 ·
1280 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

针对交换操作——考虑写一个不抛异常的swap函数。

近日在研究share ptr的源码,第一遍看的时候对于里面的swap函数不以为然,反复再三之后才知到其中奥妙,于是,在这里,我来谈谈swap函数的理解,为接下来的share ptr的源码分析做铺垫。swap是异常安全编程的脊柱,以及用来处理自我赋值可能性的一个常用机制。首先,咱们来看看典型的swap实现:namespace std{ template<typename ...
原创
发布博客 2018.11.12 ·
204 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

智能指针的引入——定义一个行为像指针的类(point like class)

定义一个行为像指针的类(point like class)在C++智能指针share_ptr之所以能够比较智能的进行资源的动态分配和回收,一个非常非常重要的概念就是引入了引用计数。智能指针不仅仅是一个裸指针,而是一个行为像指针的类。所谓的引用计数的工作原理,有以下四点:当我们创建一个对象时,只有一个对象共享状态,所以我们把当前对象的引用计数置为一。拷贝构造函数不分配新的计数器,而是...
原创
发布博客 2018.11.12 ·
386 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

智能指针的引入——定义一个行为像指针的类(point like class)

定义一个行为像指针的类(point like class)在C++智能指针share_ptr之所以能够比较智能的进行资源的动态分配和回收,一个非常非常重要的概念就是引入了引用计数。智能指针不仅仅是一个裸指针,而是一个行为像指针的类。所谓的引用计数的工作原理,有以下四点:当我们创建一个对象时,只有一个对象共享状态,所以我们把当前对象的引用计数置为一。拷贝构造函数不分配新的计数器,而是...
原创
发布博客 2018.11.12 ·
386 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

多数投票算法

多数投票算法是一种用O(1)的空间复杂度,来求出数组中众数的算法:其实这个算法十分好理解,最直观的说,我们要再数组中找到大于n/k的数,首先我们要明白一件事,举个例子,k=2,这时候,整个数组中比n/2还要多的数只有可能是一个,而k=3时,数组中比n/3还要多的数最多也只能有两个,同理可得,当为k的时候,数组中出现这种元素的个数最多只有可能有k-1个。所以,到这里,我们可以设k-1个候选人...
原创
发布博客 2018.11.11 ·
3245 阅读 ·
2 点赞 ·
1 评论 ·
2 收藏

二叉树的Zigzag遍历

是什么是Zigzag遍历,简单点说就是层序遍历的升级版,首先,我们要设置一个LefttoRight的bool变量,通过一个bool变量来控制当前层是从左往右压还是从右往左压。当然,在这里我还对之前的层序遍历进行了进一步的更新:vector<vector<int>> ZigzaglevelOrder(TreeNode* root){ vector<ve...
原创
发布博客 2018.11.07 ·
1026 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

二叉树的Zigzag遍历

是什么是Zigzag遍历,简单点说就是层序遍历的升级版,首先,我们要设置一个LefttoRight的bool变量,通过一个bool变量来控制当前层是从左往右压还是从右往左压。当然,在这里我还对之前的层序遍历进行了进一步的更新:vector<vector<int>> ZigzaglevelOrder(TreeNode* root){ vector<ve...
原创
发布博客 2018.11.07 ·
1026 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏
加载更多