- 博客(445)
- 资源 (8)
- 收藏
- 关注
原创 xz compression install on centos
You need install the EPEL repository by downloading the appropriate RPM package for your system and installing it. For example, for CentOS and Red Hat Enterprise Linux 6.x:wget http://dl.fedoraproject
2016-05-23 17:29:10
1592
原创 安装Homebrew
Homebrew类似Ubuntu的apt-get,Fedora的yum,简单来说就是为了方便安装软件而生的。打开Homebrew官方网站http://brew.sh找到安装homebrew的ruby命令:ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"利用homebre
2016-05-15 13:43:30
1427
原创 C++名称空间
使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突。在C++中,变量、函数和类都是大量存在的。如果没有命名空间,这些变量、函数、类的名称将都存在于全局命名空间中,会导致很多冲突。比如,如果我们在自己的程序中定义了一个函数toupper(),这将重写标准库中的toupper()函数,这是因为这两个函数都是位于全局命名空间中的。命名冲突还会发生在一个程序中使用两个或者更多的第三方库的情况中。
2016-05-14 11:23:02
3410
原创 POJ1001:Exponentiation
Time Limit:500ms Memory Limit:10000KDescriptionProblems involving the computation of exact values of very large magnitude and precision are common. For example, the computation of the national debt is
2016-05-10 08:42:42
2894
原创 ZOJ1003 Crashing Balloon
Time Limit: 2 Seconds Memory Limit: 65536 KBOn every June 1st, the Children's Day, there will be a game named "crashing balloon" on TV. The rule is very simple. On the ground there are 100 labeled
2016-05-07 19:46:50
4209
2
原创 which命令
which命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录。which指令会在环境变量$PATH设置的目录里查找符合条件的文件。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。语法:which (选项) (参数)选项:-n:制定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名;-p:与-n参数相同,但
2016-05-07 18:40:27
3432
原创 POJ3233 Matrix Power Series构造矩阵解决问题
时间限制:1000 ms | 内存限制:65535 KB 难度:4描述 Given a n × n matrix A and a positive integer k, find the sum S = A + A2 + A3 + … + Ak.输入The input contains exactly one test case. The first line of input contai
2016-05-07 08:53:45
5137
原创 ls命令
ls命令在类unix操作系统中被用于显示文件夹中的内容.ls即list,英文表示为"list directory contents".ls -l:长格式 文件类型: -:普通文件 (f) d: 目录文件 b: 块设备文件 (block) c: 字符设备文件 (character) l: 符号链接文件(symbolic link file) p: 命令管道文
2016-05-01 12:43:36
2082
原创 传统的错误处理方法
#include #include using namespace std;class Rainbow{ public: Rainbow(){ cout<<"Rainbow()"<<endl; } ~Rainbow(){ cout<<"~Rainbow()"<<endl; }};jmp_buf kansas;void oz(){ Rainbow
2016-04-29 15:41:06
1669
原创 关于变量的讨论程序
程序如下:#include #include using namespace std;//No initializationvoid Task1(){ int num; cout << num << endl;}//Different data typevoid Task2_1(){ int a = 2; float b = 2; co
2016-04-29 15:33:40
1561
原创 修改外部对象
从概念上讲。指针从本质上讲就是存放变量地址的一个变量,在逻辑上是独立的,它可以被改变,包括其所指向的地址的改变和其指向的地址中所存放的数据的改变。而引用是一个别名,它在逻辑上不是独立的,它的存在具有依附性,所以引用必须在一开始就被初始化,而且其引用的对象在其整个生命周期中是不能被改变的.关于程序设计基石与实践更多讨论与交流,敬请关注本博客和新浪微博songzi_tea.
2016-04-22 13:16:57
2178
原创 指针简介
我们从一个简单的程度开始://// main.cpp// Pointers//// Created by LiuGavin on 4/12/16.// Copyright © 2016 GavinPSU. All rights reserved.//#include using namespace std;int dog,cat,bird,fish;void f(
2016-04-12 14:41:32
2604
原创 IT开发人员对Mac钟爱
因为Mac的操作系统OSX相比Windows win7/8/10来说,比较适合开发人员使用。个人的体会如下:首先,OSX的多窗口多应用程序切换功能很强大,对开发人员来说很有用。开发人员一般都需要开很多窗口很多应用程序工作的,窗口开的多了以后,在XP上面切换应用程序是很不方便的事情。Windows win7/8/10下面的任务栏又很小,任务多了,切换起来也看不清楚哪个是哪个。所以好多人都把任务栏拖出
2016-04-12 10:33:05
1580
原创 图像旋转后的还原图像坐标
需求:对每个新图像中的像素进行遍历。计算像素点在原图像中对应的位置。由于在求边界时,假定图像进行顺时针旋转,因此此处进行反推新像素位置在原图像中的对应位置时,需要用逆时针计算。顺时针计算方法是:X = xcos(theta) + y sin(theta)Y = ycos(theta) – x sin(theta)逆时针计算方法是:X= x cos(theta) – ysin(theta)Y =
2016-04-02 14:12:44
10080
2
翻译 关于爱丽丝和鲍勃的宴后演讲
许多密码系统都有一些糟糕的密钥。如果你使用了这样的密钥,你的密码就很容易破译。比如说,全零密钥就是DES的一个弱密钥。有许多研究专注于搜索这些弱密钥。这些年来,越来越多的弱密钥被发现,所以人们加密的时候要小心,避免使用这样的密钥。可能有个更好的方案,我们可以只去找强密钥。事实上,为什么不去找“一切密钥中最强的那个”呢?然后我们就可以用这一个密钥做标准化了。关于Image Engineering& Computer Vision更多讨论与交流,敬请关注本博客和新浪微博songzi_tea
2016-03-26 19:58:22
3877
2
原创 图像的压缩与恢复
一个图像是如何数字化的呢?不妨从一张玩具鸭子图片说起。首先要把图片打格子分成若干小块,每块用一个数字来表示一种颜色。如果图像是纯黑白两色的,那每块只用1或0表示即可。若图像是16色的,每块用4位二进 数表示,因为2^4=16,即4位二进制有16种组合,每种组合表示一种颜色就行了。真彩色位图的每个小块,都是由不同等级的红绿蓝三种色彩组合的,如图所示,每种颜色有2^8个等级,所以共有2^24种颜色,
2016-03-25 19:02:16
8790
原创 逻辑与图灵机
计算无处不在。走进一个机房,在服务器排成的一道道墙之间,听着风扇的鼓噪,似乎能嗅出0和1在CPU和内存之间不间断的流动。从算筹算盘,到今天的计算机,我们用作计算的工具终于开始量到质的飞跃。计算机能做的事情越来越多,甚至超越了它们的制造者。上个世纪末,深蓝凭借前所未有的搜索和判断棋局的能力,成为第一台战胜人类国际象棋世界冠军的计算机,但它的胜利仍然仰仗于人类大师赋予的丰富国际象棋知识;而仅仅十余年后
2016-03-25 09:35:08
1860
原创 变量声明
变量声明告知编译器变量的外表特征,包含函数类型、函数名、参数列表和一个分号。例如:int a;可以声明变量 a就一个整数,这符合上面的逻辑。但这就产生了一个矛盾:这段带码有足够的信息让编译器为整数a分配空间,而且编译器也确实给整数a分配空间,要解决这个矛盾,对于C/C++要一个关键字来说明“这只是一个声明,它的定义在别的地方”。这个关键字是extern,它表示变量是在文件以外定义的,或文件后面部分
2016-03-20 18:46:06
1652
原创 图灵测试,测的到底是什么?
2014年6月7日发生了一件事情:聊天程序“尤金·古斯特曼”(Eugene Goostman)在英国皇家学会举行的2014图灵测试大会上冒充一个13岁乌克兰男孩而骗过了33%的评委,从而按照图灵当初的定义,“通过”了图灵测试。尤金的在线对话页面,不幸的是因为这一事件给服务器带来的压力,该网站已经几天无法访问了……但是,通过了测试又怎么样呢?说明了什么问题呢?
2016-03-20 17:11:12
9222
原创 关于 AlphaGo 论文的阅读笔记
Deepmind 公司在 Nature 杂志发表论文 Mastering the game of Go with deep neural networks and tree search,介绍了 AlphaGo 程序的细节。本文是对这篇论文的阅读笔记。AlphaGo 神经网络构成AlphaGo 总体上由两个神经网络构成,以下我把它们简单称为「两个大脑」,这并非原文中
2016-03-12 10:20:39
6826
翻译 程序设计基石与实践系列之编写高效的C程序与C代码优化
原文出处: codeproject:Writing Efficient C and C Code Optimization虽然对于优化C代码有很多有效的指导方针,但是对于彻底地了解编译器和你工作的机器依然无法取代,通常,加快程序的速度也会加大代码量。这些增加的代码也会影响一个程序的复杂度和可读性,这是不可接受的,比如你在一些小型的设备上编程,例如:移动设备、PDA……,这些有着严格的内存限制,于
2016-02-18 22:01:47
4730
原创 PrincetonUniversity-Coursera 算法:算法简介
Course OverviewWhat is this course?Intermediate-level survey course.Programming and proble solving,with applicationsAlgorithm:method for solving a problemData struvture: method to stroe informationWhy
2016-02-13 11:56:23
2095
原创 程序设计基石与实践系列之按值传递还是按引用
从简单的例子开始.假设我们要交换两个整形变量的值,在C/C++中怎么做呢?我们来看多种方式,哪种能够做到.void call_by_ref(int &p,int &q) { // 可以交换的例子 int t = p; p = q; q = t;} void call_by_val_ptr(int * p,int * q) { // 不能交换的例子 int *
2016-02-11 11:33:16
2268
翻译 程序设计基石与实践系列之类型提升、内存分配,数组转指针、打桩和矢量变换
英文出处:Peter Fačka: Guide to Advanced Programming in CC语言可用于系统编程、嵌入式系统中,同时也是其他应用程序可能的实现工具之一。 当你对计算机编程怀有强烈兴趣的时候,却对C语言不感冒,这种可能性不大。想全方位地理解C语言是一件极具挑战性的事。Peter Fačka 在2014年1月份写下了这篇长文,内容包括:类型提升、内存分配,数组转指针、显式内
2016-01-18 21:57:21
2577
翻译 程序设计基石与实践系列之C语言函数指针基础
英文出处:Dennis Kubes:Basics of Function Pointers in C本文写的非常详细,因为我想为初学者建立一个意识模型,来帮助他们理解函数指针的语法和基础。如果你不讨厌事无巨细,请尽情阅读吧。函数指针虽然在语法上让人有些迷惑,但不失为一种有趣而强大的工具。本文将从C语言函数指针的基础开始介绍,再结合一些简单的用法和关于函数名称和地址的趣闻。
2015-12-18 23:01:01
2494
原创 半群与群
半群与独异点半群与独异点的定义 定义设V=>是代数系统,为二元运算,如果运算是可结合的,则称V为半群设V=>是半群,若e∈S是关于运算的单位元,则称V是含幺半群,也叫做独异点。有时也将独异点V记作V=,e>.例11.1 (1)+,+>,,,,都是半群,+是普通加法。这些半群中除+,+>外都是独异点。
2015-12-18 22:58:01
16122
翻译 程序设计基石与实践系列之从开源项目学习C语言基本的编码规则
英文出处:CoderGears Team :Learn basic “C” coding rules from open source projects每个项目都有自己的风格指南:一组有关怎样为那个项目编码约定。一些经理选择基本的编码规则,另一些经理则更偏好非常高级的规则,对许多项目而言则没有特定的编码规则,项目中的每个开发者使用他自己的风格。所有代码都保持一致风格的大型库,更容易让人理解。有许多
2015-11-30 17:08:37
1547
3
翻译 程序设计基石与实践系列之C中的继承和多态
原文出处: CODE PROJECT 1、引言继承和多态是面向对象语言最强大的功能。有了继承和多态,我们可以完成代码重用。在C中有许多技巧可以实现多态。本文的目的就是演示一种简单和容易的技术,在C中应用继承和多态。通过创建一个VTable(virtual table)和在基类和派生类对象之间提供正确的访问,我们能在C中实现继承和多态。VTable能通过维护一张函数表指针表来实现。为了提供基类和派生
2015-11-06 21:59:19
2142
2
原创 程序设计基石与实践系列之运算符与选择语句编程
运算符与选择语句编程。关于程序设计基石与实践更多讨论与交流,敬请关注本博客和新浪微博songzi_tea.
2015-11-03 20:03:20
1713
翻译 程序设计基石与实践系列之失落的C语言结构体封装艺术
英文来源于 Eric S. Raymond-- The Lost Art of C Structure Packing谁该阅读这篇文章本文是关于削减C语言程序内存占用空间的一项技术——为了减小内存大小而手工重新封装C结构体声明。你需要C语言的基本知识来读懂本文。如果你要为内存有限制的嵌入式系统、或者操作系统内核写代码,那么你需要懂这项技术。如果你在处理极大的应用程序数据集,以至于你的程序常常达到内
2015-11-03 13:28:42
2320
翻译 程序设计基石与实践系列之写一个C语言编译器
英文出处:Wilfred Hughes:Baby Steps to a C Compiler动手编写一个编译器,学习一下较为底层的编程方式,是一种学习计算机到底是如何工作的非常有效方法。编译器通常被看作是十分复杂的工程。事实上,编写一个产品级的编译器也确实是一个庞大的任务。但是写一个小巧可用的编译器却不是这么困难。秘诀就是首先去找到一个最小的可用工程,然后把你想要的特性添加进去。这个方法也是Abd
2015-10-20 15:19:08
2412
翻译 程序设计基石与实践系列之C语言未定义行为一览
英文出处:Christopher Cole: a glimpse of undefined behavior in c几周前,我的一位同事带着一个编程问题来到我桌前。最近我们一直在互相考问C语言的知识,所以我微笑着鼓起勇气面对无疑即将到来的地狱。他在白板上写了几行代码,并问这个程序会输出什么?#include
2015-10-13 09:12:40
1509
翻译 程序设计基石与实践系列之能让你成为Top程序员的十个C语言资源
大多数程序员都是从C开始学习编程的,因为C是用来写操作系统、应用程序最常用的语言。C编程笔记 : 这些是华盛顿实验学院C编程入门课的部分笔记。它们是以《c程序设计语言》的补充笔记(从1995年春开始)为基础修改的,关于程序设计基石与实践更多讨论与交流,敬请关注本博客和新浪微博songzi_tea.
2015-10-05 09:35:54
2016
翻译 程序设计基石与实践系列之C语言程序员必读的5本书
你正计划着通过看书来学习C语言吗?“书籍是人类最忠诚的朋友“。海明威一定知道书籍对一个人一生的重要性。书籍是知识的丰富来源。你可以从书中学到各种知识。书籍可以毫无歧视地向读者传达作者的本意。C语言是由 Dennis Ritchie在1969年到1973年在贝尔实验室研发的。关于程序设计基石与实践更多讨论与交流,敬请关注本博客和新浪微博songzi_tea.
2015-10-04 11:34:47
3853
1
翻译 程序设计基石与实践系列之成为一名Top的C语言程序员
问题的提出每过一段时间我总会收到一些程序员发来的电子邮件,他们会问我是用什么编程语言来编写自己的游戏的,以及我是如何学习这种编程语言的。因此,我认为在这篇博文里列出一些有关C语言的最佳读物应该能帮到不少人。关于程序设计基石与实践更多讨论与交流,敬请关注本博客和新浪微博songzi_tea.
2015-10-04 11:32:06
2172
翻译 程序设计基石与实践系列之最短的崩溃C语言程序
想写个崩溃的C语言小程序,看起来是个奇怪的主意,不过在我曾经教过的一门实验课上,这是作业之一!实际上,这是一件非常有教学意义的事情。通常学生们要么尝试反向引用一个非法地址,要么就是除0.除0会引发SIGFPE信号(浮点异常)。关于程序设计基石与实践更多讨论与交流,敬请关注本博客和新浪微博songzi_tea.
2015-10-03 17:15:19
2157
翻译 程序设计基石与实践之C语言指针和数组基础
英文出处:Dennis Kubes: 《Basics of Pointers and Arrays in C》。关于C语言中指针和数组的争论就像是一场恶战。一方面,有些人觉得,所有人都必须承认指针与数组是不同的。而另一些人则认为数组被当成指针来处理,因此它们不应该有什么区别。这种现象让人迷惑。然而,这两种说法其实都是正确的。数组不是指针,指针也不能说是数组。关于程序设计基石与实践更多讨论与交流,敬请关注本博客和新浪微博songzi_tea.
2015-10-02 20:38:31
1600
翻译 程序设计基石与实践之C语言内存地址基础
从计算机内存的角度思考C语言中的一切"东西"是挺有帮助的。我们可以把计算机内存想象成一个字节数组,内存中每一个地址表示 1 字节。比方说我们的电脑有4K内存,那这个内存数组将会有4096(1024X4)个元素。当我们谈论一个存储地址的指针时,就等同于我们在谈论一个存储着该内存数组某个元素索引的指针。逆向引用某个指针,将会得到数组中该索引所指向的值。这一切当然都是谎言。操作系统对内存的管理要远比这复杂。内存不一定连续,也不一定按顺序处理。但前面的类比是一种讨论C语言内存的简单方式。关于程序设计基石与实践更多讨
2015-10-02 09:25:50
1912
原创 程序算法艺术与实践:递归策略之递归,循环与迭代
众所周知,递归的实现是通过调用函数本身,函数调用的时候,每次调用时要做地址保存,参数传递等,这是通过一个递归工作栈实现的,同时影响效率的。递归是利用系统的堆栈保存函数当中的局部变量来解决问题的。递归就是在栈处理栈上一堆的指针指向内存中的对象,这些对象一直不被释放,直到递归执行到最后一次后,才释放空间.关于程序算法艺术与实践更多讨论与交流,敬请关注本博客和新浪微博songzi_tea.
2015-09-24 08:40:55
2904
深度学习课程信息图
2018-09-02
C中的继承和多态
2015-11-06
A survery of steganographic techniques
2009-12-17
Schriftenreihe Information und Recht
2009-12-17
Networking for Computer Games
2009-12-11
Multimedia Forensics and Security
2009-11-30
Random forests(Leo Breiman)
2009-11-22
Mesh Generation(Mark Filipiak)
2009-11-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人