
知识点总结
f_zyj
一个追逐蝴蝶的人!
展开
-
根据树的前序遍历、中序遍历、后序遍历中的两种遍历求第三种遍历结果
学过数据结构,都知道二叉树有四种遍历手段,前序遍历、中序遍历、后序遍历以及层序遍历,而前三种遍历存在较强的关联,即:知道中序遍历及另外两种遍历中的一种时,可以求第三种,简单的讲就是根据中序遍历和前序遍历、后序遍历中的一种,可以求第三种。是不是有些绕了,自己慢慢理解吧!我们这里要讲一下实现代码。遇见这种问题,我听说好像可以用栈来实现,但是今天要说的是通过建树来实现的。分为两种情况:1、知道前序原创 2016-04-15 00:08:28 · 5446 阅读 · 0 评论 -
Xcode基本操作入门力作
这是弦苦大师的最全的Xcode基本操作介绍,转载一下链接,以后用来膜拜学习~~~Xcode基本操作-_-#大神是用来膜拜的!!!转载 2016-07-02 12:07:10 · 26848 阅读 · 1 评论 -
Xcode插件失效的原理与修复办法
昨天,装了好久,才装好了一些Xcode插件,打开后,我选择了Load Bundle选项,一切都正常工作,XVim(这个很是溜)也是正常的,可是我又装了一个插件后,重启Xcode,又是同一个选择问题,我手残,选了Skip Bundle,然后,辛辛苦苦装的插件不能用了,心塞。网上找了许久,也没有找到合适的,最后抱着试一试的想法,打开了一个名为《Xcode升级后插件失效的原理与修复办法》,一看,结果和自己转载 2016-07-02 11:53:45 · 2490 阅读 · 0 评论 -
.hpp与.h区别
最近用Xcode创建新的.cpp文件,结果一下子出现了两个同名不同格式文件,一个.cpp,另一个.hpp,而我原本就需要用到.h格式文件(也可能是.hpp),所以查阅了一些.hpp和.h的资料,毕竟两者看着有些相似,猛一些感觉是近亲关系。.hpp,本质就是将.cpp的实现代码混入.h头文件当中,定义与实现都包含在同一文件,则该类的调用者只需要include该.hpp文件即可,无需再将cpp加入到p原创 2016-06-22 16:41:50 · 65446 阅读 · 5 评论 -
如何实现动态规划?——ONE
昨天总算是看完了数据结构的图了,今天开始搞动态规划(ps:实话说,对动态规划一点概念都没有),以下均是边学动归边做的书面整理,便于梳理自己的思路,很多都是基于一些大牛的文章做的总结。刚看到动态规划,我问了三个比较抽象的问题(也许这么问并不明智)……一:动态规划的存在的实际意义是什么(即为了解决什么问题而存在)?二:动态是什么?三:什么是规划?------------------------原创 2016-02-28 22:18:04 · 1049 阅读 · 0 评论 -
二叉查找树
二叉查找树#include <iostream>template<typename T> //树结点结构class BSTNode{public: T _key; //结点值 BSTNode *_lchild; BSTNode *_rchild; BSTNode *_parent; //构造函数 BSTNode(T转载 2016-06-22 19:10:13 · 595 阅读 · 0 评论 -
int abs(int n)实现对比
ACM模版abs()函数对比在C\C++的<math.h>和<cmath>中均有abs的实现,而今天心血来潮,另外手动实现了两个abs()函数,用来做一下对比,一种是通过关系运算符判断正负求解,一种是通过位运算求解,仔细看哦,很值得回味的测试……(PS:为了增大区别,每个函数的运算次数为MAXN次)。#include <cstdio>#include <iostream>#include <ct原创 2016-11-30 03:02:08 · 5195 阅读 · 0 评论 -
滚动数组
蓝桥杯国赛快来了,赶快找来往届赛题瞅瞅先,看到最后一题,发现需要用到动态规划,但是感觉数据比较大,单纯的用动态规划怕是要超内存,怎么办呢?这时发现了一个新名词,最起码对我而言的新名词——滚动数组,顿时懵了,啥叫滚动数组?怎么个滚动发儿?于是开始搜索资料,找到一个不错的解释。当然,最好的解释一定是代码了>>>#include <stdio.h>int main(){ int i;原创 2016-05-23 01:14:52 · 3111 阅读 · 2 评论 -
C语言快排函数qsort()
原本以为C语言中的快排函数都要靠自己去实现,今天才知道,原来qsort就是C语言中的快排函数,包含在stdlib.h头文件中,函数一共有四个参数,没有返回值。//int (*cmp)(const void *,const void *);qsort(*s, n, sizeof(s[0]), cmp);其中第一个参数s是一个地址,即参与排序的首地址;n是需要排序的数量;sizeof(s[0])原创 2016-05-23 21:04:02 · 91257 阅读 · 33 评论 -
“string.h”头文件
http://zm10.sm-img2.com/?src=http%3A%2F%2Fwww.cnblogs.com%2Fxuwenmin888%2Farchive%2F2013%2F05%2F03%2F3057883.html&uid=e6ac8d55d91459c9fbc2e6cdff91ce33&hid=2e40fbe33216bdad6ecb68b6dbecf1a7&pos=4&cid=9&t转载 2015-11-15 21:16:51 · 1920 阅读 · 3 评论 -
输入输出外挂总结
明明在C语言中有scanf()、printf(),C++中有cin、cout,为什么我们还要用输入输出外挂呢?这个问题很明显,一定是因为这些输入输出函数功能过于强大而导致效率低,(很多时候,功能越强大的东西越臃肿),而我们使用的输入输出外挂既然叫外挂,那说明其一定有很大的优势,而这方面优势就体现在术有专攻上。原来的输入输出函数因为要应对不同类型的输入输出,所以内部一定做了很多的判断,而我们在遇见实原创 2016-05-22 05:06:28 · 15474 阅读 · 8 评论 -
三种编程命名规范(匈牙利命名法、驼峰式命名法、帕斯卡命名法)
1 . 匈牙利命名:开头字母用变量类型的缩写,其余部分用变量的英文或英文的缩写,要求单词第一个字母大写。ex: int iMyAge; “i”是int类型的缩写; char cMyName[10]; “c”是char类型的缩写; float fManHeight; “f”是float类型的缩写;其他: 前缀类型 a b by c cb cr cx,cy dw fn h i l...原创 2016-05-26 19:52:35 · 77942 阅读 · 15 评论 -
关于爆栈问题——手动加栈
今天忽然遇见了一行很牛逼的代码:#pragma comment(linker, “/STACK:1024000000,1024000000”) 据说是手动加栈的,作为小白的我自然是只好各种查资料。然后牵扯到了很多基础概念,C、C++、GCC、G++、把我搞得晕头转向,都分不清谁是谁了。 经查阅资料: G++和C++都是C++语言的编译器,二者基本相同。 而GCC和C都是C语言编译器,而这差别原创 2016-05-21 03:23:28 · 10748 阅读 · 10 评论 -
strtok和sscanf结合输入
一种加速输入外挂……空格作为分隔输入,读取一行的整数:gets(buf);int v;char *p = strtok(but, " "); while(p){ sscanf(p, "%d", &v); p = strtok(NULL," "); }当然,还有别的输入外挂。原创 2016-05-21 03:29:03 · 1389 阅读 · 0 评论 -
如何实现动态规划?——TWO
忙碌了一天,是时候继续动态规划的问题了,昨天写了一些对动态规划的入门理解,尽管我文笔略差,但是自我感觉打得比方还是比较形象的;同时也转载了一个讲述动态规划的博文,但是在今天通读后,感觉这篇文章优点和缺点参半。这篇文章,优点是以一个十分形象的故事引入了动态规划,缺点却是他的故事最后把人讲蒙圈了,(也可能是个人智商问题,反正我是没有看懂为何最后要考虑到那挖矿的一万个人的每个人的分配过程,主要是讲这部分原创 2016-03-01 22:11:37 · 1558 阅读 · 3 评论 -
如何实现动态规划?——转载
碰见一个特别好的讲动态规划的帖子,转载一下下,为自己以后再学习留点好东西!网址:http://www.cnblogs.com/sdjl/articles/1274312.html详情如下:(有点长,但是很有意思,有点寓教于乐的意味,慢慢品味吧)通过金矿模型介绍动态规划—-第一节—-初识动态规划——– 经典的01背包问题是这样的: 有一个包和n个物品,包的容量为m,每个物品都转载 2016-02-28 23:26:07 · 866 阅读 · 0 评论 -
字符数组
前天晚上遇见一道题,题目提示要用string函数里面的一个charAt()函数,然而wo一点没学过,根本不知道如何去应用,于是这两天都在看string函数,但是还是没有找到提示的函数的用法,幸而找到了很多关于字符数组的知识点。总结如下:1)如果在定义字符数组时不进行初始化,则数组中元素的值是不可预料的。2)字符串结束的标志:\0;'\0'代表ASCII码为0的字符,从ASCII码表中可以查到,A原创 2015-11-15 20:44:14 · 1286 阅读 · 0 评论 -
“ctype.h”头文件
http://fx1.fx.uodoo.com/?v=1&src=l4uLj8XQ0IWSzs%2FRjJLSlpKYzdGckJLQwIyNnMKXi4uP2sy%2B2s252s25iIiI0ZyRnZOQmIzRnJCS2s25hZeWjpaekZjNz87N2s25j9rNuczKx8nJyszRl4uSk9mKlpvCmsmenMebysqbxs7LysacxpmdnM2ayZybmZnG转载 2015-11-15 21:19:59 · 2349 阅读 · 0 评论 -
线段树
今天查阅了一天的线段树的资料,找到一篇不错的博文,算是初步对线段树有了一些了解,感觉太有意思了,记录一下此链接,方便以后的再学习。线段树详解blog.youkuaiyun.com转载 2016-05-31 18:20:34 · 571 阅读 · 0 评论 -
num[key++] = num[key] + num[key];执行过程解析
公式 num[key++] = num[key] + num[key];解析 这个公式如果抽象的看,就是A = B + C;的执行过程,这里B和C相等,都是num[key],那么问题就是,这个过程,究竟是先执行哪一边? 如果说,先执行左边,那么我们初始化key = 0, num[] = {1, 2},这样子就可以转化为: num[0] = num[1] + num[1]原创 2016-06-08 02:18:52 · 992 阅读 · 0 评论 -
vim C++配置
vim .cpp文件初始化配置set nuset history=1000000set tabstop=4set shiftwidth=4set smarttabset cindentcolo eveningset nobackupset noswapfileset mouse=amap <F6> :call CR()<CR>func! CR()exec "w"exec "!g++原创 2016-06-25 06:56:12 · 751 阅读 · 4 评论 -
x & (-x)
结论 整数运算x & (-x),当x为0时结果为0;x为奇数时,结果为1;x为偶数时,结果为x中2的最大次方的因子。解析&是按位与操作,即: 1 & 1 = 1, 1 & 0 = 0, 0 & 0 = 0。因为负数的补码 = 正数的补码取反 + 1,因此若没有+1的存在, x & (-x)的结果就是0。分析一下可知,该操作保留的是正数的最低有效bit。任意一个数(不管奇偶),都可以表示原创 2016-06-09 23:20:00 · 1481 阅读 · 0 评论 -
集合类(并集、交集、差集操作)
昨日,朋友拿来一份有些问题的源代码,是一个集合类和几个集合操作函数(并集、交集、差集),帮忙改了一下,刚转C++不到半个月,因为只是为了算法竞赛而学C++,所以只好好学了C++偏向算法层的知识,类只是过了一遍,没有自己尝试写过,刚好拿来练练手,于是大刀阔斧的修改了起来,变动不是太大,都是细节有所改动(因为他的代码细节问题很多),大的体系没有变。代码C++:#include <iostream>#原创 2016-06-26 04:24:18 · 5650 阅读 · 3 评论 -
C/C++代码命名和格式规范
命名 命名,包括文件名、类名、结构名、类型名、函数名、变量名、参数名等都是程序设计中重要的一部分。一个好的名称,体现了一个深思熟虑的过程,同时也能够帮助别人更好地理解开发者的思路。如果发现程序中,充满了a, b, c, x, y, z, tmp这种命名的变量,这时候就需要仔细的考虑自己的实现是否有问题,而这个过程是极其困难的,所以命名规范就显得很有必要性。类(结构)名类名必须是名词,类名必须原创 2016-06-06 16:46:43 · 8061 阅读 · 0 评论 -
C语言32关键词分类详解
关键词由ANSI标准定义的C语言关键词共32个 : auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default原创 2016-06-06 17:42:00 · 2024 阅读 · 0 评论 -
Bug:返回局部对象的引用或指针
昨天晚上,SISTSISTSIST 的宋教授在 SISTSISTSIST 一个官方研招群里分享了一个 BugBugBug,如下图:代码如下:一开始我觉得没问题啊,怎么会出现段错误呢?并且 newnewnew 怎么可能不是 newnewnew 一个 heapheapheap 对象?(后来得知教授的意思是 ssssss 无法 newnewnew 到堆上让他保持)之所以有这样的疑问,...原创 2018-03-31 11:21:52 · 768 阅读 · 0 评论