自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

西代零零发

既然选择远方,便只顾风雨兼程

原创 程序员修炼之路-(2)线性表(下):栈、队列

2 基础数据结构数组和链表是实现各种数据结构的基石,本节中的三种最基本的数据结构都可以用数组或者链表来实现。2.1 栈用数组实现“栈”非常简单。下面以C++为例,实现一个简单的固定大小的“栈”。首先,接口API定义如下,核心函数就是push()和pop():2.1.1 数组实现下面用数组方式的实现...

2015-03-31 21:24:41

阅读数 1968

评论数 0

原创 程序员修炼之路-(2)线性表(上):数组与链表

1 两块基石数组与链表构成各种数据结构的基石,是实现所有数据结构必不可少的元素。1.1 数组数组一般内置于编程语言中,直接通过索引(index)读写。索引一般为数字,有的语言甚至直接支持如字符串等其他类型的索引。在很多数据结构中都能看到数组的身影,例如字符串、动态数组、堆、栈和队列(用链表也可以,...

2015-03-31 21:18:22

阅读数 2126

评论数 2

原创 程序员修炼之路-(3)排序(上):基本排序

1 基本排序对于所有排序算法,被排序元素需要满足下列数学性质:Ø  自反性(reflextive):for all v,v=vØ  对称性(antisymmetric):for all v and w,if vv and if v=w then w=vØ  传递性(transitive):for ...

2015-03-31 21:09:49

阅读数 2011

评论数 0

原创 程序员修炼之路

前言:《程序员修炼之路-(0)前言:在路上, 再上路》在前言中已经对知识体系进行了梳理,主要分为问题定义、算法与数据结构、系统平台API、编程语言实现、代码设计、测试验证等等。目前集中精力编写算法与数据结构部分,这可能也是最艰难的一部分,之后再考虑补充其他部分。对于这一部分的内容编排,主要以《算法...

2015-03-31 20:48:26

阅读数 4032

评论数 0

原创 程序员修炼之路-(1)基础(下):正确性证明

来自《Writing Solid Code》的一则小故事,Donald Knuth在其著名的排版软件TEX的封面上写到:“I believe that the final bug in TEX was discovered and removed on November 27, 1985. But...

2015-03-31 20:44:19

阅读数 10540

评论数 7

原创 程序员修炼之路-(1)基础(中):性能分析

3 算法分析“分析”二字的含义很广泛,在算法分析的领域,指的就是算法的效率,包括运行时间效率(时间复杂度)和内存空间使用效率(空间复杂度)两方面。同时,研究表明,通常时间方面比空间能取得更大的进展,因此我们进一步将分析的重点放在时间复杂度上。3.1 算法分析 - 科学实验方法科学家用来理解自然世界...

2015-03-31 20:39:32

阅读数 2745

评论数 0

原创 Leetcode解题-链表(2.2.6)RotateList

1 题目:Rotate ListGiven a list, rotate the list to the right by k places, where k is non-negative.For example:Given 1->2->3->4->5->nullp...

2015-03-28 11:27:33

阅读数 1658

评论数 0

原创 Leetcode解题-树(5.0.0)基础类

与第二章类似,LeetCode指定了TreeNode实现。为了方便后续习题的编写和测试,创建一个基础父类,包含TreeNode实现,以及create()和print()创建和打印树的方法。其中create()采用类似“堆”的方式,用数组表示树形结构,复习一下,左右子结点就是2*i和2*i+1。而p...

2015-03-28 11:25:09

阅读数 1779

评论数 0

原创 Leetcode解题-链表(2.2.3)PartitionList

题目:2.2.3 Partition ListGiven a linked list and a value x, partition it such that all nodes less than x come before nodes greater than or equal to x. ...

2015-03-28 11:21:07

阅读数 1752

评论数 0

原创 Leetcode解题-链表(2.2.2)ReverseLinkedList

题目:2.2.2 Reverse Linked List IIReverse a linked list from position m to n. Do it in-place and in one-pass.For example:Given 1->2->3->4->5...

2015-03-28 11:17:21

阅读数 2257

评论数 0

原创 Leetcode解题-链表(2.2.1)AddTwoNumbers

1 题目:2.2.1 Add Two NumbersYou are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of th...

2015-03-28 08:42:40

阅读数 2110

评论数 0

原创 Leetcode解题-链表(2.2.0)基础类

1 基类的作用在开始练习LeetCode链表部分的习题之前,首先创建好一个Solution基类,其作用就是:Ø  规定好每个子Solution都要实现纯虚函数test做测试;Ø  提供了ListNode结构的定义;Ø  create函数创建链表;Ø  print打印链表等工具函数;从而方便我们编写...

2015-03-28 08:33:09

阅读数 1961

评论数 0

原创 程序员修炼之路-(0)前言:在路上, 再上路

四年前的我还像一张白纸,看什么书都觉得大有长进,当一张白纸的感觉也不坏。但渐渐的收效甚微,囫囵吞枣后只剩下了星星点点的记忆。于是在短暂的迷茫之后,写下了《小小程序员的学习计划》这篇文章,确立自己的学习路线。既然热爱编程,决定要走很远,那么就静下心来闭关修炼。时光荏苒,一眨眼就过去了四年,不知道当年...

2015-03-21 22:28:24

阅读数 2139

评论数 2

原创 Hazelcast源码剖析之Eviction

在使用Hazelcast的Eviction时,发现观察到的现象与想象的不同。按照官方文档介绍,Eviction有这样几个配置选项: <hazelcast> <map name="default"> ... <time-to-li...

2015-03-07 18:35:43

阅读数 3200

评论数 0

转载 C#6.0 新特性

v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);}<!-- ...

2015-03-07 18:28:24

阅读数 1931

评论数 0

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