自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

西代零零发

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

  • 博客(15)
  • 收藏
  • 关注

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

2 基础数据结构数组和链表是实现各种数据结构的基石,本节中的三种最基本的数据结构都可以用数组或者链表来实现。2.1 栈用数组实现“栈”非常简单。下面以C++为例,实现一个简单的固定大小的“栈”。首先,接口API定义如下,核心函数就是push()和pop():2.1.1 数组实现下面用数组方式的实现“栈”,当然也可以用链表实现数组,但是一般尽管栈会处理很多操作,但任意时刻保存在栈中的元素不会很多,所

2015-03-31 21:24:41 2299

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

1 两块基石数组与链表构成各种数据结构的基石,是实现所有数据结构必不可少的元素。1.1 数组数组一般内置于编程语言中,直接通过索引(index)读写。索引一般为数字,有的语言甚至直接支持如字符串等其他类型的索引。在很多数据结构中都能看到数组的身影,例如字符串、动态数组、堆、栈和队列(用链表也可以,但用数组实现很高效)等。1.2 链表概念上都能理解,但实现起来还真有很多容易出错的地方。实现细节Ø  

2015-03-31 21:18:22 2481 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 all v,w and x,if v对于包含这样元素的数组,我们才能对其排序。1.1 选择排序(sel

2015-03-31 21:09:49 2524

原创 程序员修炼之路

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

2015-03-31 20:48:26 4391

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

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

2015-03-31 20:44:19 13545 7

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

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

2015-03-31 20:39:32 3214

原创 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->nullptr and k = 2, return 4->5->1->2->3->nullptr.2 实现首先确定题目要求的旋转都需要哪些结点

2015-03-28 11:27:33 1908

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

与第二章类似,LeetCode指定了TreeNode实现。为了方便后续习题的编写和测试,创建一个基础父类,包含TreeNode实现,以及create()和print()创建和打印树的方法。其中create()采用类似“堆”的方式,用数组表示树形结构,复习一下,左右子结点就是2*i和2*i+1。而print()方法采用前序遍历的方式,通过额外一个参数level确定当前结点的深度,从而打印一些制表符或

2015-03-28 11:25:09 2056

原创 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. You should preserve the original relative order of

2015-03-28 11:21:07 2045

原创 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->nullptr, m = 2 and n = 4,return 1->4->3->2->5->nullptr.Note:

2015-03-28 11:17:21 2567

原创 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 their nodes contain a single digit. Add the two numbe

2015-03-28 08:42:40 2450

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

1 基类的作用在开始练习LeetCode链表部分的习题之前,首先创建好一个Solution基类,其作用就是:Ø  规定好每个子Solution都要实现纯虚函数test做测试;Ø  提供了ListNode结构的定义;Ø  create函数创建链表;Ø  print打印链表等工具函数;从而方便我们编写完算法函数后进行单元测试。2 代码实现因为我们提供的链表仅是用来完成后面的习题,而不用提供增删改查等操

2015-03-28 08:33:09 2263

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

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

2015-03-21 22:28:24 2512 2

原创 Hazelcast源码剖析之Eviction

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

2015-03-07 18:35:43 3719

转载 C#6.0 新特性

v\:* {behavior:url(#default#VML);}o\:* {behavior:url(#default#VML);}w\:* {behavior:url(#default#VML);}.shape {behavior:url(#default#VML);}<!-- /* Font Definitions */ @font-face {font-family:宋体;

2015-03-07 18:28:24 2148

空空如也

空空如也

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

TA关注的人

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