摘要: 题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。 分析:这是一道很新颖的关于位运算的面试题。 首先我们考虑这个问题的一个简单版本:一个数组里除了一个数字之外,其他的数字都出现了两次。请写程序找出这个只出 阅读全文
posted @ 2017-01-19 13:12 Kobe10 阅读(10124) 评论(0) 推荐(0)
摘要: 动态规划 算法总体思想 动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题。 但是经分解得到的子问题往往不是互相独立的。不同子问题的数目常常只有多项式量级。在用分治法求解时,有些子问题被重复计算了许多次。 如果能够保存已解决的子问题的答案,而在需要时再找出已求得的答案,就可以避免 阅读全文
posted @ 2017-01-19 10:43 Kobe10 阅读(247) 评论(0) 推荐(0)
摘要: 这个框架还是比较通俗的,但是由于编辑工具不是很好用(linux下面的编辑工具有点bug,老是闪退,我就么有建工程,将就看吧)。主要就是实现了一下插入,删除,包含核哈希函数的构造这几个简单的方法。下面是这几个函数的具体实现代码。 这个就是实现简单的带有链表和vector的哈希表了,这个比较常见。 阅读全文
posted @ 2016-11-15 16:50 Kobe10 阅读(754) 评论(0) 推荐(0)
摘要: 1. 存储图的方式一般是有两种的:邻接表和邻接矩阵,一般存储链接矩阵的方式是比较简单的,也便于我们去实现这个临接矩阵,他也就是通俗的二维数组,我们平常用到的那种。 2. 这里我们主要记录和讲一下bfs和dfs算法之间的一些区别和用法,他们的原理一般人是都知道的,但是他们是怎么来实现的我相信一部分人并 阅读全文
posted @ 2016-11-11 16:29 Kobe10 阅读(923) 评论(0) 推荐(0)
摘要: 1. 顺序查找 说明:顺序查找适合于存储结构为顺序存储或链接存储的线性表。 基本思想:顺序查找也称为线形查找,属于无序查找算法。从数据结构线形表的一端开始,顺序扫描,依次将扫描到的结点关键字与给定值k相比较,若相等则表示查找成功;若扫描结束仍没有找到关键字等于k的结点,表示查找失败。 复杂度分析: 阅读全文
posted @ 2016-11-11 09:26 Kobe10 阅读(6283) 评论(0) 推荐(1)
摘要: auto 这个这个关键字用于声明变量的生存期为自动,即将不在任何类、结构、枚举、联合和函数中定义的变量视为全局变量,而在函数中定义的变量视为局部变量。这个关键字不怎么多写,因为所有的变量默认就是auto的。 register 这个关键字命令编译器尽可能的将变量存在CPU内部寄存器中而不是通过内存寻址 阅读全文
posted @ 2016-11-10 13:49 Kobe10 阅读(300) 评论(0) 推荐(0)
摘要: 变量和函数的属性包括数据类型和数据的存储类别,存储类别指数据在内存中存储方式(静态和动态),包含auto,static,register,extern四种。 内存中。具体点来说内存分为三块:静态区,堆区,栈区。外部变量和全局变量存放在静态区,局部变量存放在栈区,动态开辟的内存存在堆区。 一、简要性比 阅读全文
posted @ 2016-11-10 13:45 Kobe10 阅读(1333) 评论(0) 推荐(0)
摘要: 内存重叠,直到做到一个笔试题才知道了什么是内存重叠。先上题目吧,是一个淘宝的笔试题,当时有点懵,不知道这个名词是啥子意思。 题目:补充下面函数代码: 如果两段内存重叠,用memcpy函数可能会导致行为未定义。 而memmove函数能够避免这种问题,下面是一种实现方式,请补充代码。 #include 阅读全文
posted @ 2016-11-02 15:49 Kobe10 阅读(3260) 评论(0) 推荐(0)
摘要: 关键字概述 很多朋友看到这儿可能会有疑问,往往其它讲C语言的书籍都是从HelloWorld,数据类型开始C语言学习的,为什么我们要从C语言的关键字开始呢?关于这点,我有两点需要说明: 本章节面向的读者对象是有一定的C语言基础知识的朋友(至少应该学习过大学里的C语言程序设计等类似的课程) 本章节结合了 阅读全文
posted @ 2016-11-01 17:24 Kobe10 阅读(422) 评论(0) 推荐(0)
摘要: 我先把脚本粘贴在这吧,方便大家观看,其中也是借鉴了不少其他大神的东西,这个脚本主要是用来监控服务器、用户、日志,还得创建备份,等等等等。最近学的shell比较多,就用这个来练练手了,比较简单,大家凑合看吧。 #! /bin/bash 10 # unset any variable which sys 阅读全文
posted @ 2016-10-20 13:05 Kobe10 阅读(759) 评论(0) 推荐(0)
摘要: 1. Linux下的五种I/O模型 阻塞I/O模型: 一直阻塞 应用程序调用一个IO函数,导致应用程序阻塞,等待数据准备好。 如果数据没有准备好,一直等待….数据准备好了,从内核拷贝到用户空间,IO函数返回成功指示。 我们 第一次接触到的网络编程都是从 listen()、send()、recv()等 阅读全文
posted @ 2016-10-18 09:21 Kobe10 阅读(492) 评论(0) 推荐(0)
摘要: http://files.cnblogs.com/files/Kobe10/Python__%E7%88%AC%E8%99%AB%E5%9F%BA%E7%A1%80.pdf 阅读全文
posted @ 2016-09-16 12:47 Kobe10 阅读(183) 评论(0) 推荐(0)
摘要: TCP的三次握手和四次挥手 http://www.cnblogs.com/Kobe10/p/5770585.html Tcp和Udp的区别 TCP:TCP是面向连接的,进行的是全双工通信(两个方向同时进行通信),提供可靠的服务,面向字节流的 UDP:UDP不是面向连接的,提供不可靠的交付,它传输的是 阅读全文
posted @ 2016-08-23 10:18 Kobe10 阅读(987) 评论(0) 推荐(0)
摘要: 自己整理了一些常见的面试题,频率挺高的都是,而且感觉这里这些基础的东西都会问,自己过几天也要面试了,所以发上来让大家一起看看,有什么错误的地方望提醒我纠正。 32位数据类型以及sizeof大小、 char:1; short int:2; int:4; long:4; long long:8; flo 阅读全文
posted @ 2016-08-21 20:24 Kobe10 阅读(2091) 评论(0) 推荐(1)
摘要: deque函数: deque容器为一个给定类型的元素进行线性处理,像向量一样,它能够快速地随机访问任一个元素,并且能够高效地插入和删除容器的尾部元素。但它又与vector不同,deque支持高效插入和删除容器的头部元素,因此也叫做双端队列。deque类常用的函数如下。 (1) 构造函数 deque( 阅读全文
posted @ 2016-08-17 16:18 Kobe10 阅读(1102) 评论(0) 推荐(0)
摘要: 相对于vector容器的连续线性空间,list是一个双向链表,它有一个重要性质:插入操作和删除操作都不会造成原有的list迭代器失效,每次插入或删除一个元素就配置或释放一个元素空间。也就是说,对于任何位置的元素插入或删除,list永远是常数时间。 常用函数 (1) 构造函数 list<Elem> c 阅读全文
posted @ 2016-08-17 15:05 Kobe10 阅读(1882) 评论(0) 推荐(1)
摘要: 效果截图 阅读全文
posted @ 2016-08-17 13:51 Kobe10 阅读(9536) 评论(0) 推荐(2)
摘要: vector类常用的函数如下所示: 1.构造函数 vector():创建一个空vector vector(int nSize):创建一个vector,元素个数为nSize vector(int nSize,const t& t):创建一个vector,元素个数为nSize,且值均为t vector( 阅读全文
posted @ 2016-08-17 10:31 Kobe10 阅读(570) 评论(0) 推荐(0)
摘要: 一、为什么需要traits编程技术 前面说了很多关于traits的光荣事迹,但是却一直没有介绍traits究竟是个什么东西,究竟是用来干什么的?traits在英文解释中就是特性,下面将会引入traits技术的作用,一步一步地揭开其神秘的面纱。 1.1 内嵌类型声明 1.1.1 以迭代器所指对象的类型 阅读全文
posted @ 2016-08-16 17:14 Kobe10 阅读(945) 评论(0) 推荐(0)
摘要: 为了学习python3.5的tkinter,于是我去官网找了找相关部件的一些文档,读起来有点绕口,觉得还是自己来实践实践,看看视频感觉用处会更大,然后就有了下面的一部分常用的总结, 查看tkinter类库发现它主要是分为两个部分,一个是Widget classes(部件类),另一个是Mixins(多 阅读全文
posted @ 2016-08-15 17:44 Kobe10 阅读(14482) 评论(0) 推荐(0)