自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Google Java编码风格

前言以下是摘自Hawstein的博客Google Java编程风格指南的学习笔记,下面仅列出我认为比较重要的知识点,没涉及到的可能是显而易见或约定俗成或者我觉得不重要的规范。使用良好的编码风格是coding最基本的素质之一。1 源文件1 源文件统一编码为UTF-82 特殊字符情形a 除了行结束符外,空格是源文件唯一允许出现的空白字符,所有其他ASCII空白字符军需要进行转义...

2015-12-14 22:49:00 121

转载 算法和数据结构系列

前言该系列是基于C和Java实现的各种算法和数据结构的总结。写作和实现的过程中阅读和参考了《算法导论》、《Algorithms》、《STL源码剖析》、《编程珠玑》等经典书籍。主要是按照Robert Sedgewick的《Algorithms》总结出来的。强烈推荐这本书,相比有各种数学证明的算法导论,它图文并茂、简单易懂,是一本非常合适的入门书。系列篇算法和数据结构笔记(一) ...

2015-05-27 23:26:00 138

转载 理解C语言系列

前言最近一段时间一直在整理自己的读书笔记,这个系列博客主要是针对C语言。为了写好它,几乎每篇都是参考了很多书和博客。想起刚开始写导读系列的时候,原本打算写一章,几乎把深入计算机系统涉及程序的各个阶段:数据表示、机器级代码等看了3遍,最后发觉篇幅太长,就分成了三篇。写的文章比较枯燥,有实用的也有不实用的,基本上是个人的理解和总结,主要的目的是让自己能够对C语言的各个方面有个整体的把握...

2015-04-21 15:46:00 128

转载 理解C语言(四) C标准I/O库与Unix系统级I/O

四转载于:https://www.cnblogs.com/xionghj/p/4444531.html

2015-04-21 15:44:00 125

转载 理解C语言(三) 字符串处理函数

1 字符串基础字符串是一种重要的数据类型,有零个或多个字符组成的有限串行。定义子串: 串中任意个连续的字符组成的子序列,并规定空串是任意串的子串,任意串也是其自身的子串,如字符串"adereegfb"中它本身、空串、诸如"ader"连续的字符串都是它的子串。子序列则不要求字符连续,但顺序要与主串保持一致,若有"abcd"与"ad"则两者的最长公共子序列为"ad"。在动态规划中计算最...

2015-04-21 11:18:00 297

转载 理解C语言(二) 堆的工作机制- 一个简易的动态内存管理器实现

动态内存管理器实现转载于:https://www.cnblogs.com/xionghj/p/4443886.html

2015-04-21 11:16:00 217

转载 如何学习一门新语言

如何学习应分步骤掌握如下知识:基本数据类型、各种语句等基础语法掌握内置数据结构,如数组、集合类等掌握IO和字符串处理方法研究范式: 面向对象还是函数式还是多范式?语言特性(很重要): 事件驱动机制、多线程与内存模型TDD(测试驱动): 异常、错误与断言日志等具体需求实践: 如网络编程、图形界面编程、Web开发等等怎么掌握1. 首先要选择1-3合适的参考书这样...

2015-04-03 16:32:00 103

转载 算法和数据结构笔记(五) 图论

图论应用转载于:https://www.cnblogs.com/xionghj/p/4342911.html

2015-03-16 21:18:00 93

转载 算法和数据结构笔记(四) 字符串

1 单词查找树:Trie树如果一个关键字可以成字符串的形式,那么可以用键树(Keyword tree),又称数字搜索树(Digital Search Tree)。键树的存储通常有两种方式:树的左孩子-右兄弟链表表示,每个Node有三个域(当前字符,左孩子的根,右兄弟的链表),称为双链树如图所示:用多重链表表示,每个Node应包含R个指针域(R为字符集的个数),称为T...

2015-03-16 21:17:00 194

转载 算法和数据结构笔记(三) 查找树

1 基础查找符号表是一种典型的ADT,它提供了操作键值对的方法: put(插入、insert)、search、delete操作,这一节将会给出两种初级的符号表: 无序链表中的顺序查找、基于有序数组二分查找的有序符号表。在某些实现中我们认为保持键的有序性并大大扩展它的API是很有用。例如键是时间,你可能会对最早的或是最晚的或者给定时间段内的所有键感兴趣。在大多数情况下这些额外的操作只...

2015-03-16 21:13:00 238

转载 算法和数据结构笔记(二) 排序算法

插入排序1.1 直接插入排序直接插入排序的特点:时空效率: 时间复杂度为O(n^2),空间复杂度为O(1)。最好情况下是元素基本有序,此时每插入一个元素,只需比较几次而无需移动,时间复杂度为O(n)稳定性: 保证相等元素的插入相对位置不会变化,稳定排序void insertion_sort_int(int *arr,int n) { for(int i = 1;i...

2015-03-16 20:50:00 121

转载 算法和数据结构笔记(一) 基本数据结构

1 动态数组它的基本思路是使用如malloc/free等内存分配函数得到一个指向一大块内存的指针,以数组的方式引用这块内存或者直接调用动态数组的接口,根据其内部的实现机制自行扩充空间,动态增长并能快速地清空数组,对数据进行排序和遍历。(在理解C语言(一)中介绍了动态数组,这里不再赘述)它的数据结构定义如下:typedef struct { void *data; ...

2015-03-16 20:44:00 225

转载 C++编程调试秘笈笔记总结

前言在编写C++代码时,我们不应该自己捕捉缺陷,而是由编译器和可执行代码为我们做这些事情,该书便提供了这样的一个思考。作者以“调试器友好”的方式编写了一些方便安全检查时所需的宏代码并针对C++代码中最为常见的各种错误制定了一些规则,并用代码实现,使之很容易在运行时捕捉,或者尽可能地在编译时就捕捉缺陷。Chapter 1 C++的缺陷来自哪里在C语言中为了追求简单和速度,产生高效...

2015-03-06 23:27:00 192

转载 理解C语言(一) 数组、函数与指针

1 指针一般地,计算机内存的每个位置都由一个地址标识,在C语言中我们用指针表示内存地址。指针变量的值实际上就是内存地址,而指针变量所指向的内容则是该内存地址存储的内容,这是通过解引用指针获得。声明一个指针变量并不会自动分配任何内存。在对指针进行间接访问前,指针必须初始化: 要么指向它现有的内存,要么给它分配动态内存。对未初始化的指针变量执行解引用操作是非法的,而且这种错误常常难以检...

2015-03-06 23:25:00 311

转载 理解C语言(零) 导读(下):有用的C语言工具-从Make说起

理解C语言(零) 导读(下):有用的C语言工具-从Make说起1 Make在GNU中提供了一个用于管理多个C源代码文件的项目管理工具,用户只需按照一定的语法规则编写这个Makefile文件。输入make命令,系统会自动的根据当前文件的修改情况确定哪些文件需要重编译,一旦文件被修改,make工具只会执行依赖于该文件的一系列规则,这样节省了整个编译和链接时间。1.1 Make规则M...

2015-03-06 23:24:00 133

转载 理解C语言(零) 导读(中):C程序的链接与执行过程- 内存模型

3 链接阶段:何为链接3.1 简介链接是将各种代码和数据部分收集起来并合并为一个单一文件的过程,该文件最后被加载到存储器中并运行。链接可以执行于编译时,由静态链接器完成;也可以执行于加载和运行时,由动态链接器完成。可以看出链接器在软件开发中扮演一个关键的角色,它使得分离编译成为可能。在我们开发一个大型程序的时候,通用的做法是将它分解为更小、更好管理的模块,独立地修改和编译这些模块...

2015-03-06 23:15:00 172

转载 理解C语言(零) 导读(上):C程序的编译过程- 机器级表示

1 从Hello world说起Hello world是初学者使用任何一项编程语言最基本最简单的程序。下面是一个C语言版的"Helloworld" :#include <stdio.h>int main(){ printf("Hello wolrd\n"); return 0;}这段程序被编译、链接后会生成一个可执行文件,在操作系统中运行这个程序,...

2015-03-06 23:03:00 8264

转载 安装Ubuntu 14.10后要做的事(下)—— 开发工具篇

1 完善GCC环境安装g++编译器命令: sudo apt-get install build-essentialbuild-essential是一套完整的软件包,它提供了编译程序必需的软件包列表信息,包括gcc,libc安装词法和语法分析器命令:sudo apt-get install flexsudo apt-get install bison如果想在ubu...

2015-01-08 17:57:00 316

转载 安装Ubuntu 14.10后要做的事(上)—— 基础软件篇

1 更新软件源装好ubuntu的第一件事就是添加更快速的源,因为官方提供的源服务器在国外,访问和下载速度要比国内源慢些,可以采用一些国内公司和大学提供的更新源.方法一: 在System Settings -> Software & Updates,在Download from中在中国区选择速度最快的服务器源。这种方法比使用命令行快很多。方法二:命令行设置:备份原有...

2015-01-08 16:58:00 85

空空如也

空空如也

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

TA关注的人

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