自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C语言:C语言的一些基本概念

计算机语言:机器语言: 一条指令就是机器语言的一个语句,它是一组有意义的二进制代码,指令的基本格式如:操作码字段+地址码字段,其中操作码指明了指令的操作性质及功能,地址码则给出了操作数或操作数的地址。 汇编语言: 面向机器的程序设计语言。在汇编语合中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成

2017-01-13 16:56:13 1358

原创 C语言:动态内存分配上(C语言篇)

环境:windows语言:C语言动态相对的的名词就是静态,那我们先来讨论一下静态内存的使用及其优缺点。静态内存:静态的内存使用的是栈空间内存,不用程序员自己来分配。因为静态变量占用的存储空间对于编译器而言是可预计的,静态内存只需要编程的时候直接声明就可以了。且在开辟空间是就已经确定了所需要开辟的空间大小。程序举例:#include#includeint main

2017-01-08 19:49:59 2100

转载 计算机网络知识总结:你应该知道的计算机网络知识

*前言*作为一名程序员, 不可能不与网络打交道. 现在我们的手机, 电脑, 不夸张地说, 离开了网络就是一块’废铁’, 它们的作用将大打折扣.. 本文的作用呢, 主要是针对不是非网络专业开发的人员准备的, 以’最短的时间, 了解计网最多的知识’为前提起笔.目录概述 物理层 数据链路层 网络层 传输层 应用层 概述先来了解下各种我们知道, 但是不太了解的专业名词的意思

2016-12-10 14:16:38 908

原创 VS编译器运行后闪退,处理方法

How to solve the problem of flash back!!!!!!这个问题上,本人有两种解决方案—————————————————————————————————————————————————————————————————————————————1、system(“pause”);2、getchar();接下来我们就分开讨论一下两者的用法和优缺点:

2016-11-14 09:30:08 17021

原创 关于共享单车违规乱停治理方案拟定(畅想共享单车未来五年的战略方向)

关于共享单车违规乱停治理方案拟定运营方案调整计划书制作人:王刚邮箱: 947865448@qq.com我,产品经理方向的预备军的一员,目前还在找工作中,如果您有合适的岗位欢迎你的联系。个人事先声明,ofo在西安的校园招聘,做的真的很糟糕,并不是我个人的吐槽,只是一种描述试试的态度。如果要吐槽的话,槽点太多,真的很让人反感,或许这家企业还不够成熟吧。一、概述本计划书将专注于探讨共享单车市场发展,行业问

2017-10-18 22:45:40 6565

原创 假设今天你开了一家经营生鲜品类的淘宝店,你怎么获取第一批用户, 并能够运营起来

关键字:淘宝店、生鲜品类、新店、如何运营产品定位:23-45岁未退休上班人群,小于23岁的绝大多数为在校学生,对购买生鲜类产品的需求较弱;大于45岁的人对生鲜类产品有需求,但对互联网较为陌生,不愿意进行网购,如一些退休的大爷大妈,他们很享受每天去菜市场买菜的过程,故而产品定位于23-45岁工作人群,他们有做饭的需求,又因为上下班的原因,菜市场距离居住地有有一部分距离,而且这一群体对新事物的接受能力很

2017-08-23 13:04:26 5539

原创 判断一棵树是否是完全二叉树。

提示:层序遍历变型题。 完全二叉树:根节点下除叶子节点外,每个结点的左右子树不能为空,叶子结点重左至右依次存在。 满二叉树:完全二叉树的特殊情况,每一层节点数为2^( n -1 )个。 验证过程,当存节点的队列不为空,则进入循环,遍历二叉树,当左右节点均不为空,则释放当前队头节点,依次存放左左节点,右节点;左为空,右不为空时,不满足条件,则退出并返回false;下来就剩左右均为空,左空右不为空

2017-08-07 21:04:10 817

原创 判断一颗二叉树是是否是另一颗树的子树。

什么样的情况下,某一棵树会成为另一棵树的子数呢?子树的根节点是某一棵树的某个节点,接下来的子节点也相同,则该树是另一棵树的子集。首先找到与根节点相同的节点,在进行遍历,可使用递归法。template<class T>struct TreeNode{ T _data; TreeNode<T>* _left; TreeNode<T>* _right; TreeNode

2017-08-07 19:02:07 678

原创 已知集合A和B的元素分别用不含头结点的单链表存储,函数difference()用于求解集合A与B的差集,并将结果保存在集合A的单链表中

已知集合A和B的元素分别用不含头结点的单链表存储,函数difference()用于求解集合A与B的差集,并将结果保存在集合A的单链表中。例如,若集合A={5,10,20,15,25,30},集合B={5,15,35,25},完成计算后A={10,20,30}。可以利用循环的思想,创造出一个笛卡尔积的效果。当链表1中的每个节点,对应到链表2的每个节点进行寻找,找到数值相同的,则释放当前链表1的节点,并

2017-08-04 23:20:23 384

原创 一个m*n的矩阵,从左到右从上到下都是递增的,给一个数x,判断x是否在矩阵中。要求效率尽可能的高。

这道题目的解题关键就在于,二维矩阵从左到右从上到下都是递增的,先跟第一行数组的最后一个比较比它大就在下一行,比他小就在这一行的前面,等于他就刚好。#include<iostream>#include<stdlib.h>using namespace std;bool Find(int* arr, int row, int col,int num){ if (arr != NULL&&r

2017-07-29 11:30:25 732

原创 判断一棵二叉树是否是平衡二叉树/求一颗二叉树的镜像

这道题目一共两问,其一如何判断一颗二叉树是否是平衡二叉树?平衡二叉树指任意一父节点左右字数高度差不大于1,就是说<=1即可。高度,自然有一个求属深度的方法,所以有了如下内容:bool IsBalance(){ return _IsBalance(_root);}int depth(){ return _depth(_root);}int _depth(Node* root)

2017-07-29 11:20:23 289

原创 链表翻转:给出一个链表和一个数k,链表前k个节点进行翻转

问题描述: 给出一个链表和一个数k,比如链表1→2→3→4→5→6,k = 2,翻转后2→1→4→3→6→5,若k = 3, 翻转后3→2→1→6→5→4,若k = 4,翻转后4→3→2→1→5→6。 这是一道美团网的现在上面是题,下面有个人的做法,对大家进行讲解,程序猿最直接的自然是代码,话不多说先上代码:#include<iostream>#include<stdlib.h>using

2017-07-25 13:33:44 2888

原创 计算一个整数二进制位中1的个数。要求效率尽可能的高。且能正确求正数和负数的二进制中1的个数。

#include<iostream>#include<stdlib.h>using namespace std;int Number1(int n){ int count = 0; unsigned int flag = 1; while (flag) { if (flag&n) count++; flag

2017-07-20 12:43:06 457

原创 元素出栈、入栈顺序的合法性。如:入栈的序列(1,2,3,4,5),出栈序列为(4,5,3,2,1),则合法。

这道题目考察的就是栈的先进后出(FILO),当第一个值压入栈后,它就会比它后压入的值晚出栈,好比1.2.3.4.5是入栈序列,4.5.3.2.1是出栈序列,为什么说他是正确的呢?因为当4出栈时,栈内已经压入1.2.3,5还没有压入,4先压入,在直接出栈,然后5再进栈再出栈,然后3.2.1依次出栈,那么在程序里该怎么实现呢,用代码直接展示吧。#include<iostream> #include

2017-07-20 12:00:04 5341

原创 2016腾讯笔试

1.生成格雷码在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同, 则称这种编码为格雷码(Gray Code),请编写一个函数,使用递归的方法生成N位的格雷码。 给定一个整数n,请返回n位的格雷码,顺序为从0开始。 测试样例:1返回:["0","1"]问题分析:对于这样的题目,我们可以进行找规律完成。 当n == 1时,生成的1位格雷码是“0”,“1” 当n == 2时,生成

2017-07-20 11:21:10 317

原创 替换字符串中的空格为$$$。要求时间复杂度为O(N)

替换字符串中的值,如果是一个换一个,那么我们在遍历的时候就恶意直接替换,以为没有多余空间的使用,但是现在要将一个空格,换为三个‘‘,又要保证时间复杂度为O(N),那该怎么处理呢?我的思路是,先遍历一遍字符串,看看一共有多少个空格,然后以为一个空格换三个′‘,又要保证时间复杂度为O(N),那该怎么处理呢? 我的思路是,先遍历一遍字符串,看看一共有多少个空格,然后以为一个空格换三个’’,那么在空间的

2017-07-19 11:44:47 448

原创 实现一个栈Stack,要求实现Push(出栈)、Pop(入栈)、Min(返回最小值的操作)的时间复杂度为O(1)

这里的要求呢,跟我们平时的stack操作是一样的,那什么地方不同呢?多了一个min方法,并且要求时间复杂度为O(1),那该怎么做呢?O(1)的意思就是说,要用了,直接就能拿到,就好比数组直到下标一样,直接取。 那么如果能够将一个栈的栈顶一直存放的都是最小值呢?那么,我们的要求就实现了,借助c++的封装特性,我编写了以下代码,以便实现功能。#define _CRT_SECURE_NO_WARNING

2017-07-19 11:39:06 1316

原创 复杂链表复制

在链表中,有一类链表叫做复杂链表,复杂链表的每个节点有两个指针,一个指向下一个节点,一个指向随机节点,可以指向NULL,也可以指向已经存在的链表节点,可以指向本节点之前的节点,也可以指向之后的节点。 节点的结构声明如下:typedef int DataType;类型名重定义,也可以使用templatetypedef struct ComplexNode{ DataType _data; //

2017-07-18 17:28:23 307

原创 判断链表是否带环?若带环求环的长度?若带环求环的入口点?

链表就跟他的名字一样,是一串串起来的链,具体是什么样子在程序中是不能直观的看到的,因为每个节点的地址并不是连续的,但是我们可以通过指针,将其进行遍历访问。 今天我们来讨论一下,一个链表是否带环?若带环,那么环的长度又是多少?环的入口?一个链表是否带环?第一次拿到这道题的时候,我的函数原型是这样的bool isCircle(ListNodeT* head)判断一个链表是否带环,返回值最直接的应该就是

2017-07-17 11:36:55 290

原创 C++:1.设计一个类不能被继承 2.设计一个类只能在堆上创建对象。 3.设计一个类只能在栈上创建对象。

C++作为第一代面向对象语言,在设计时,并没有像java那样设计出final class,但是经常会有人问到,如何用C++实现一个最终类,其实说句真心话,我也挺烦这种问题的,实用性又不强,何必如此钻牛角尖呢?但是这个问题,又可以很好的考验你对C++继承这里知识点的掌握情况,不是嘛。 那么我们现在讨论一下:C++如何设计一个最终类——不可被继承C++中继承分为三种方式:public、private、

2017-07-17 10:59:28 450

原创 实现1+2+3...+n,要求不能使用乘除法、循环、条件判断、选择相关的关键字。

这是一道不是很中规中矩的问题,刚拿到他的时候我是很懵逼的,我就在想, 这怎么可能,加法不让用乘除,不让用循环,又不让用条件判断,想到了递归,又发现,不让用条件判断,好气人哦。 但是·仔细想想,其实可以用递归的变形来进行,不是吗? 那具体怎么实现呢,我们带码见,在代码中,我会增加相应的备注,帮助理解。 方法一#include<iostream>#include<stdlib.h>using

2017-07-15 21:00:31 467

原创 TCP定时器讲解与TCP三次握手四次挥手

从名字上讲,他是一个定时器,并且是一个应用在TCP协议中的定时器,关于TCP协议,可以自行了解,这里就不多说了。TCP定时器TCP一共有几种定时器呢?答案是四种,分别是: **重传计时器:**Retransmission Timer **坚持计时器:**Persistent Timer **保活计时器:**Keeplive Timer **时间等待计时器:**Time_Wait Timer。

2017-07-12 19:18:18 423

转载 对比讨论URG-PSH

网络服务中,常用TCP协议建立稳定可靠的传输,在TCP头中包含两组关键位,如下图是TCP协议的格式:1、URG推送位紧急数据的起始点=序号; 紧急数据的终止点=序号+紧急指针; (综上,紧急指针就是记录紧急数据的字节数,紧急指针永远为正数)在紧急数据后面的数据为普通数据,需要按序缓存窗口为0也可以发送紧急数据紧急数据都处理完成后,tcp就告诉进程恢复到正常操作例如,已经发送了很长的一个程序要

2017-07-12 18:23:03 328

原创 计算机端口讲解

计算机端口:计算机“端口”是英文port的义译,可以认为是计算机与外界通讯交流的出口,分软件端口和硬件端口。硬件领域的端口又称接口,如:USB端口、串行端口等。软件领域的端口一般指网络中面向连接服务和无连接服务的通信协议端口,是一种抽象的软件结构,包括一些数据结构和I/O(基本输入输出)缓冲区。作为一名程序员,更多的关心的应该是软件层面上的端口问题。网络端口:分类: 第一类 公认端口(Well

2017-07-12 18:06:56 464

原创 NAT技术与代理服务器讲解

NAT技术:NAT(Network Address Translation,网络地址转换)是1994年提出的。当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。 这种方法需要在专用网连接到因特网的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址

2017-07-11 21:21:16 354

原创 CRC校验

对于陌生人而言,CRC这个名词听着就好陌生,绞尽脑汁在想到底是什么,但是由于互联网时代,百度一下你就知道。CRC校验最常用于网络方面,是一种根据网络数据包或电脑文件等数据产生简短固定位数校验码的一种散列函数,主要用来检测或校验数据传输或者保存后可能出现的错误。它是利用除法及余数的原理来作错误侦测的。在“数字电路”、“组成原理”、“网络”等计算机方面都有所涉及。CRC循环冗余校验:在数据传输过程中,无

2017-07-11 20:38:45 971

原创 守护进程

细心的朋友可能注意到,我的上一篇博客“crond和crontab分别是什么”中提到过一个关键词——守护进程。 那么什么是守护进程呢?我们现在就来进行讨论。守护进程:守护进程是一个在后台运行并且不受任何终端控制的进程。Unix操作系统有很多典型的守护进程(其数目根据需要或20—50不等),它们在后台运行,执行不同的管理任务。 Linux的大多数服务器就是用守护进程实现的。比如,Internet服务

2017-07-11 20:13:06 319

转载 crond和crontab分别是什么

crond:crond的概念和crontab是不可分割的。crontab是一个命令,常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。该词来源于希腊语chronos(χρόνος),原意是时间。而crond正是它的守护进程。 crontab:crontab命令常见于Unix和类Unix的操作

2017-07-11 19:19:08 3565

原创 信号屏蔽pending

讲到pending,就不得不提一下阻塞信号方面的知识:实际执行信号的处理动作称为信号递达(Delivery),信号从产生到递达之间的状态,称为信号未(Pending)。进程可以选择阻塞(Block )某个信号。被阻塞的信号产生时将保持在未决状态,直到进程解除对此信号的阻塞,才 执行递达的动作。 注意: 阻塞和忽略是不同的,只要信号被阻塞就不会递达,而忽略是在递达之后可选的一种处理动作 信号间三

2017-07-11 15:32:23 366

原创 模拟实现sleep函数——mysleep()

编写普通版本mysleep 编写规避竞态条件的mysleep 对两者进行对比 作业按照链接提交sleep函数原型:#include<unistd.h>unsigned int sleep(unsigned int seconds);什么是sleep()函数?sleep函数,是一个常用的定时函数,在指定时间内不做任何动作,时间结束后继续执行要完成的工作。 那么,自然要使用到定时函数alar

2017-07-10 14:38:52 806

原创 对比线程安全和可重入函数

概念:什么是线程安全?线程安全线程安全就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。 线程不安全就是不提供数据访问保护,有可能出现多个线程先后更改数据造成所得到的数据是脏数据。概念: 线程安全的概念比较直观。一般说来,一个函数被称为线程安全的,当且仅当被多个并发线程反复调用

2017-07-09 21:36:42 365

原创 欢聚时代”狼人杀“产品岗面试总结——产品岗

欢聚时代:欢聚时代成立于2005年4月,于2012年11月在纳斯达克上市(NASDAQ:YY),是全球首个富集通讯业务运营商,目前中国最大的互联网语音平台提供商,是全球最大的团队语音提供商,致力于为世界提供完善富集通讯服务的社会化创新平台,欢聚时代怀揣着年轻的激情,运用创新的技术,目标缔造覆盖全球的富集通讯网络。面试:首先自然是做一个自我介绍。那么我想问你的是,怎样做一个即能表现自我,又能体现出个人

2017-07-09 20:29:50 1618

原创 子进程的异步等待方式

子进程: 子进程指的是由另一进程(对应称之为父进程)所创建的进程。    子进程继承了对应的父进程的大部分属性,如文件描述符。在Linux中,子进程通常为系统调用fork的产物。在此情况下,子进程一开始就是父进程的副本,而在这之后,根据具体需要,子进程可以借助exec调用来链式加载另一程序。    一个进程可能下属多个子进程,但最多只能有1个父进程,而若某一进程没有父进程,则可知该进

2017-07-08 11:16:35 429

原创 Linux:生产者消费者模型

生产者消费者,是进程间通信的一个经典模型。参考过很多资料后,总结了一个“321原则”,现在我们一起来谈一谈。“321原则” “3”代表的是三种关系 生产者与消费者的互斥与同步关系 生产者与生产者的互斥关系 消费者与消费者的互斥关系 “2”代表两种角色 生产者:往交易场所放东西(在计算机中一般都是数据)的人 消费者:从交易场所取东西的人

2017-07-03 13:51:34 402

原创 Linux:如何使用gdb调试多进程多线程程序

1. 默认设置下,在调试多进程程序时GDB只会调试主进程。但是GDB(>V7.0)支持多进程的分别以及同时调试,换句话说,GDB可以同时调试多个程序。只需要设置follow-fork-mode(默认值:parent)和detach-on-fork(默认值:on)即可。 follow-fork-mode detach-on-fork 说明parent on 只调试主进程(GDB默认)

2017-07-02 21:53:25 616

原创 Linux:信号量

接下来我将围绕着以下三点,对信号量的知识做出相应的总结,希望能够为大家带来帮助:编写信号量代码,实现二元信号量对显示器进行保护 实现父子进程输出成对AA或BB调研SEM_UNDO标志代表什么含义,用途是什么,如何做到回滚信号量信号量:有时被称为信号灯,是在多线程环境下使用的一种设施,是可以用来保证两个或多个关键代码段不被并发调用。在进入一个关键代码段之前,线程必须获取一个信号量;一旦该关键代

2017-07-01 11:38:50 671 1

原创 Linux下僵尸进程与孤儿进程

僵尸进程(Zombies):(1)僵尸进程是一个比较特殊的状态,当进程退出父进程(使用wait()系统调用)没有没有读取到子进程退出的返回代码时就会产生僵尸进程。僵尸进程会在以终止状态保持在进程表中,并且会一直等待父进程读取退出状态代码。 (2)一个进程在其父进程没有调用wait()或waitpid()的情况下退出。这个子进程就是僵尸进程。如果其父进程还存在而一直不调用wait(),则僵尸进程无法

2017-06-26 20:53:40 320

原创 Linux文件类型

Linux下一切皆文件,那么这么多文件,怎么区别种类呢?下面是自己的总结,与大家进行分享。 普通文件(regular file)第⼀一个字符为[ - ] 包括:①纯文本档(ASCII):这是Linux系统中最多的一种文件类型,称为纯文本档。是因为内容为我们人类可以直接读到的数据,例如数字、字母等等。②二进制文件(binary): 你的Linux中的可执行文件(scripts, 文字型批处理

2017-06-21 20:08:18 495

原创 Linux:浅谈tack_struct

进程的概念:OS:程序的一个执行实例。正在执行的程序,能分配处理器并由处理器执行的实体。 内核:但当分配系统资源的实体。 进程的两个基本元素是程序代码和代码相连的数据集。进程是一种动态描述,但并不代表所有进程都在运行。进程描述:每个进程在内核中都有⼀一个进程控制块(PCB)来维护进程相关的信息,Linux内核的 进程控制块是task_struct结构体。现在我们全⾯面了解⼀一下其中都有哪些信息

2017-06-19 21:14:45 632

原创 数据结构:二叉搜索树

二叉搜索树 二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。代码实现增删查#pragma once#include<iostream>#include

2017-04-04 09:57:29 403

空空如也

空空如也

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

TA关注的人

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