- 博客(15)
- 资源 (4)
- 收藏
- 关注
原创 C++经典面试问题1-20
1、new/delete和malloc/free的区别区别: 1. new/delete是C++里才有的,而new/delete与malloc/free一个显著的区别在于,new是建造一个对象,并调用对象的构造函数来初始化对象,其实在所有的new操作过程中,总是分为两步的:第一步是申请内存,第二步则是调用构造函数初始化对象。同样,在调用delete的时候,需要先调用析构函数,然后在销
2016-06-30 17:33:28 899
原创 STL---unordered_set---学习
无序集是存储在没有特定的顺序独特的元件,其允许基于其值各元素的快速检索容器。在一个unordered_set,一个元素的值是在同一时间它的键,标识它唯一地。密钥不可变的,因此,在一个unordered_set元素不能一次在容器改性 - 它们可以插入或取出,虽然。在内部,在unordered_set的元素中的任何特定的顺序进行排序,但组织成根据它们的哈希值,以允许直接地通过它们的值快速访问各
2016-06-29 14:37:46 534
原创 STL---string和char
看到string和char,总结一下:定义:1. char是字符类型 char属于基础类型(C++),在C#中它属于值类型(Value Type)。char类型的长度是固定的,上一篇讲到,在C++中它可能是1个字节,或者2个字节(取决于是否为Unicode Char),而在C#中,它永远是2个字节。2. string是字符串类型string是一个模板类型,也就是一个class(
2016-06-28 15:44:56 641
原创 STL---deque---学习
定义:deque即双端队列。(deque,全名double-ended queue)是一种具有队列和栈的性质的数据结构。双端队列中的元素可以从两端弹出,其限定插入和删除操作在表的两端进行。双端队列是限定插入和删除操作在表的两端进行的线性表。这两端分别称做端点1和端点2。也可像栈一样,可以用一个铁道转轨网络来比喻双端队列。在实际使用中,还可以有输出受限的双端队列(即一个端点允许插入和删除
2016-06-27 21:54:06 333
原创 二叉树平衡树,插入新节点调整该子树的操作
若向平衡二叉树中插入一个新结点后破坏了平衡二叉树的平衡性。首先要找出插入新结点后失去平衡的最小子树根结点的指针。然后再调整这个子树中有关结点之间的链接关系,使之成为新的平衡子树。当失去平衡的最小子树被调整为平衡子树后,原有其他所有不平衡子树无需调整,整个二叉排序树就又成为一棵平衡二叉树。失去平衡的最小子树是指以离插入结点最近,且平衡因子绝对值大于 1 的结点作为根的子树。假设用 A 表示失
2016-06-20 19:01:29 2880
原创 二叉树的度计算
有一个计算二叉树节点的公式,相信很多人都知道:度为0的节点数为度为2的节点数加1,即n0=n2+1,知道这个公式,相关题目就可以轻松解决;下面来讨论下如何得出这个公式的:设:k:总度数k+1:总节点数n0:度为0的节点n1:度为1的节点n2:度为二的节点根据二叉树中度和节点的守衡原理,可列出以下一组方程:k=n2*2+n1;k+1=n2+n1+n0;
2016-06-16 16:57:30 17385
转载 32位操作系统下各种数据类型所占有的字节数
一:整形 int 4字节 long int 4字节 short int 2字节 unsigned int 4字节 unsigned long int
2016-06-12 11:08:22 4300
转载 十进制小数转化为二进制小数
一、二进制数转换成十进制数 由二进制数转换成十进制数的基本做法是,把二进制数首先写成加权系数展开式,然后按十进制加法规则求和。这种做法称为"按权相加"法。 例1105 把二进制数110.11转换成十进制数。 二、十进制数转换为二进制数 十进制数转换为二进制数时,由于整数和小数的转换方法不同,所以先将十进制数的整数部分和小数部分分别转换后,再加以合并
2016-06-08 17:25:09 304
原创 ASCII码表
ASCII可显示字符二进制十进制十六进制图形0010 00003220(空格)(␠)0010 00013321!0010 00103422"0010 00113523#
2016-06-07 17:21:15 313
原创 KMP算法求next数组和nextval数组
KMP 算法我们有写好的函数帮我们计算 Next 数组的值和 Nextval 数组的值,但是如果是考试,那就只能自己来手算这两个数组了,这里分享一下我的计算方法吧。计算前缀 Next[i] 的值:我们令 next[0] = -1 。从 next[1] 开始,每求一个字符的 next 值,就看它前面是否有一个最长的"字符串"和从第一个字符开始的"字符串"相等(需要注意的是,这2个"字
2016-06-07 16:52:38 1264
转载 机器学习--时间序列中常用预测技术
时间序列中常用预测技术 一个时间序列是一组对于某一变量连续时间点或连续时段上的观测值。1. 移动平均法 (MA)1.1. 简单移动平均法设有一时间序列y1,y2,..., 则按数据点的顺序逐点推移求出N个数的平均数,即可得到一次移动平均数. 1.2 趋势移动平均法 当时间序列没有明显的趋势变动时,使用一次移动平均就能够准确地反映实际
2016-06-07 15:16:34 8651
转载 Java中的堆和栈的区别
当一个人开始学习Java或者其他编程语言的时候,会接触到堆和栈,由于一开始没有明确清晰的说明解释,很多人会产生很多疑问,什么是堆,什么是栈,堆和栈有什么区别?更糟糕的是,Java中存在栈这样一个后进先出(Last In First Out)的顺序的数据结构,这就是java.util.Stack。这种情况下,不免让很多人更加费解前面的问题。事实上,堆和栈都是内存中的一部分,有着不同的作用,而且一
2016-06-07 15:10:16 303
原创 计算机中的源码 反码 补码
负数的补码就是对反码加1,而正数不变,正数的原码反码补码是一样的假设字长为8bits 要完成,1-1 =0( 1 ) - ( 1 )= ( 1 ) + ( -1 )= (00000001)+ (10000001) -----------------原码计算= (10000010)= ( -2 )( 1 ) - ( 2 )= ( 1 ) +
2016-06-07 14:57:25 617
原创 c++ 中对vector的使用方法
vector:从数组最后压入操作:s.push_back(a)从数组最后删除操作:s.pop_back(a)stack:从数组最后压入操作:s.push_back(a)从数组最后删除操作:s.pop(a) //删除操作有区别
2016-06-01 10:15:51 6170 1
入门到精通吃透PID
2016-12-12
BLDC直流无刷电机简易正玄波控制
2016-06-13
Python2.7 NumPy Matplotlib gensim pandas scipy statsmodels
2016-05-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人