自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (34)
  • 收藏
  • 关注

原创 稀疏矩阵的十字链表存储表示

除了用三元组顺序表来存储压缩矩阵,我们还可以用链表结构来存储,实际上后者应用更广泛,因为当非零元素的数目较大时,三元组的时间复杂度实在太高。链表结构中最常见的是十字链表,在十字链表中,稀疏矩阵每一行用一个带头结点的循环链表表示,每一列也用一个带头结点的循环链表表示。在这个结构中,除头结点外,每个结点都代表矩阵中的一个非零元素,它由5个域组成:行域(row),列域(col),数据域(data),向下域(down)和向右域(right)。

2014-10-29 21:35:49 3765

原创 史上最简明易懂非递归遍历二叉树算法

三种不同的遍历方式区别在于栈空间的释放时机和输出结点信息时机的不同:先序和中序遍历是在访问栈顶元素的右孩子(右子树)之前退栈,而后序遍历在访问右子树之后退栈;先序遍历是在某结点入栈时输出其信息,而中序和后序遍历是在该结点退栈时输出其信息。 无论是递归算法还是非递归算法,都遵循上述规则,二者可以一一对应。图示如下:

2014-10-29 14:59:02 5656

原创 稀疏矩阵的三元组顺序表存储表示及基本操作

/*Name: 稀疏矩阵的三元组顺序表存储表示及各种 Copyright: Author: 巧若拙 Date: 27-10-14 21:28Description: ------------------------------------------------------------------------------在实际应用中,我们经常碰到这样一类矩阵,它们的非零

2014-10-27 21:32:39 24854 3

原创 稀疏矩阵的三元组顺序表存储及矩阵相乘算法小结

详细介绍了三元组存储稀疏矩阵的快速转置算法,重点介绍矩阵乘法的三种不同实现,尤其最后一种快速乘法,先把其中一个矩阵转置,再各行对应元素相乘,思想新颖,代码简洁,值得一看。

2014-10-27 21:24:54 11259 4

原创 算法进化历程之“水壶问题”

《算法导论》中提到的经典水壶问题。采用了三个不同的版本来实现,喜欢快速排序及其变例的朋友应该会喜欢。

2014-10-25 18:05:29 2794

转载 向量旋转算法集锦(转载)

/*  Name: 向量旋转算法集锦   Copyright: 始发于goal00001111的专栏;允许自由转载,但必须注明作者和出处  Author: goal00001111  Date: 28-12-08 23:28  Description:   向量旋转算法:将具有n个元素的向量a向左旋转r个位置。  例如 :将字符串"abcdefghij"旋转成"defg

2014-10-21 09:15:03 737

原创 算法进化历程之“归并排序”

归并排序是分治算法的典型运用,其中先分治,再合并的思路真是美妙至极。本文介绍了递归和非递归两种归并排序的实现方法,其中非递归算法和高效的合并函数属本人原创,虽然经过小规模数据的测试,但也可能存在纰漏,欢迎批评指正,谢谢!

2014-10-18 10:26:19 852

原创 算法进化历程之“快速排序”

快速排序是在实践中最快的已知排序算法,它的版本非常多,本文将给出常见的一些版本并分析其优化过程。总共10个版本,看起来很过瘾哦!由于是借鉴各种书籍后,自己再重新编写的,所以有可能有些地方会有小问题,欢迎批评指正。

2014-10-15 23:15:47 936

转载 蛇形矩阵的各种情形:共4种5类

/*  Name:   Copyright: goal00001111  Author:   Date: 14-11-08 09:25  Description: 蛇形矩阵的各种情形:共4种5类 */#includeusing namespace std;const int MAX = 20;int a[MAX][MAX];void Fu

2014-10-14 09:02:39 1826

原创 算法进化历程之“根据二叉树的先序和中序序列输出后序序列”

通过对一个作业“根据二叉树的先序和中序序列输出后序序列”的思考,详细分析了不断改进算法的过程。其中通过移动指针确定被处理序列段边界的方法确实让人感觉到算法之美。

2014-10-08 22:50:54 1748 1

原创 《大话数据结构》读书笔记之线性表基本操作(静态单链表实现)

/*    Name:  线性表抽象数据类型(使用静态单链表实现)     Copyright:     Author: 巧若拙     Date:06-10-14 14:16    Description: 近一个月前我总结了线性表抽象数据类型(使用动态单链表实现),实际上更让我感兴趣的是静态链表。这种无需指针而有能够实现链表功能的结构,对于那些不支持指针的高级语言来

2014-10-06 17:17:26 1074

原创 二叉排序树基本操作详解

二叉排序树基本操作详解巧若拙(欢迎转载,但请注明出处:http://blog.csdn.net/qiaoruozhuo)所谓二叉排序树,指的是一棵空二叉树,或者是一棵具有如下特性的非空二叉树:1。若它的左子树非空,则左子树上所有结点的值均小于根结点的值;2。若它的右子树非空,则右子树上所有结点的值均大于根结点的值;3。左,右子树本身又各是一棵二叉排序树。    二叉排序

2014-10-04 17:56:14 2634 1

转载 如何避免SIGSEGV

如何避免SIGSEGV良好的编程习惯永远是最好的预防方法。良好的习惯包括:尽量按照C标准写程序。之所以说是尽量,是因为C标准有太多平台相关和无定义的行为,而其中一些实际上已经有既成事实的标准了。例如C标准中,一个越界的指针导致的是无定义的行为,而在实际情况中,一个越界而未解引用的指针是不会带来灾难后果的。借用CU的一个例子,如下:  1 #include   2 #include

2014-10-03 23:52:27 1059

原创 根据先中序序列或后中序序列确定二叉树

根据后中序序列生成二叉树:从后序序列中找到二叉树(或者子树)的根结点,然后在中序序列找到该根结点,根结点将中序序列分成左右两部分,左边为左子树,右边为右子树。根据中序序列确定左子树的长度,确定左子树中最右下根结点在后序序列中的位置,从而可以确定左右子树在后中序序列中的范围,然后递归的生成左右子树。

2014-10-03 11:36:52 2821

原创 线索二叉树基本操作详解

线索二叉树基本操作详解巧若拙(欢迎转载,但请注明出处:http://blog.csdn.net/qiaoruozhuo)     遍历二叉树是以一定规则将二叉树中结点排列成一个线性序列,得到二叉树中结点的先序,中序或后序序列。这实际上是对一个非线性结构进行线性化操作,使每个结点(除第一个和最后一个外)在这些线性序列中有且仅有一个直接前驱和直接后继。但是,当以二叉链表作为存储结构时,只能

2014-10-02 09:38:01 2854

原创 线索二叉树小结

/*Name: 线索二叉树Copyright:Author: 巧若拙 Date: 30-09-14 22:13Description:     遍历二叉树是以一定规则将二叉树中结点排列成一个线性序列,得到二叉树中结点的先序,中序或后序序列。这实际上是对一个非线性结构进行线性化操作,使每个结点(除第一个和最后一个外)在这些线性序列中有且仅有一个直接前驱和直接后继。但是

2014-10-01 00:07:28 732

C++程序设计陷阱

本书讨论了那些可能出现所有C++代码中的基本错误,同样也详述那些出现在C++语法、预处理、内存管理、多态性、类设计和类继承关系设计中可能出现的各种复杂错误。每一个错误和其所导致的错误结果将会结合错误发生的上下文仔细讲解,相应的解决办法也会详细地结合实例给出。

2016-07-06

程序员面试指导

作为刚毕业的学生和正在找工作的程序员,当你应聘一份程序设计、软件开发方面的工作时,招聘方总会安排一次笔试以考查你的程序设计能力。《程序员面试指导》这本书的目的就是希望能帮助大家顺利地通过这类面试

2014-12-13

OpenGL入门教程(精)

说起编程作图,大概还有很多人想起TC的#include <graphics.h>吧? 但是各位是否想过,那些画面绚丽的PC游戏是如何编写出来的?就靠TC那可怜的640*480分辨率、16色来做吗?显然是不行的。 本帖的目的是让大家放弃TC的老旧图形接口,让大家接触一些新事物。

2014-12-13

重构 改善既有代码的设计 中文版

重构,一言以蔽之,就是在不改变外部行为的前提下,有条不紊地改善代码。多年前,正是《重构:改善既有代码的设计》原版的出版,使重构终于从编程高手们的小圈子走出,成为众多普通程序员日常开发工作中不可或缺的一部分。《重构:改善既有代码的设计》也因此成为与《设计模式》齐名的经典著作,被译为中、德、俄、日等众多语言,在世界范围内畅销不衰。 《重构:改善既有代码的设计》凝聚了软件开发社区专家多年摸索而获得的宝贵经验,拥有不因时光流逝而磨灭的价值。今天,无论是重构本身,业界对重构的理解,还是开发工具对重构的支持力度,都与《重构:改善既有代码的设计》最初出版时不可同日而语,但书中所蕴涵的意味和精华,依然值得反复咀嚼,而且往往能够常读常新。">重构,一言以蔽之,就是在不改变外部行为的前提下,有条不紊地改善代码。多年前,正是《重构:改善既有代码的设计》原版的出版,使重构终于从编程高手们的小圈子走出,成为众多普通程序员日常开发工作中不可或缺的一 [更多]

2014-10-17

程序设计竞赛训练手册

《挑战编程:程序设计竞赛训练手册》分为14章,分别介绍在线评测系统的基本使用方法、数据结构、字符串、排序、算术与代数、组合数学、数论、回溯法、图遍历、图算法、动态规划、网格、几何,以及计算几何,并在附录中介绍了一些著名的程序设计竞赛以及相应的备赛建议与比赛技巧。每章的正文用十余页的篇幅覆盖了该领域最核心的概念和算法,然后给出八道可在线提交的完整编程挑战题目供读者练习。 全书内容紧凑、信息量大,是各类程序设计竞赛的选手与教练不可多得的参考书。

2014-10-16

《挑战编程:程序设计竞赛训练手册》

《挑战编程:程序设计竞赛训练手册》分为14章,分别介绍在线评测系统的基本使用方法、数据结构、字符串、排序、算术与代数、组合数学、数论、回溯法、图遍历、图算法、动态规划、网格、几何,以及计算几何,并在附录中介绍了一些著名的程序设计竞赛以及相应的备赛建议与比赛技巧。每章的正文用十余页的篇幅覆盖了该领域最核心的概念和算法,然后给出八道可在线提交的完整编程挑战题目供读者练习。 全书内容紧凑、信息量大,是各类程序设计竞赛的选手与教练不可多得的参考书。

2014-10-16

数学建模十大算法程序详解

喜欢数学建模,喜欢算法的朋友有福了。大量的代码分析,经典的算法介绍,您一定会感兴趣。

2014-10-16

数独计算器

一个很实用的数独计算器,源码分析。喜欢数独的朋友可以研究一下,算法都是自己构思的。

2014-10-16

Effective C++改善程序与设计的55个具体做法 云风评注版

“C++程序员可以分成两类,读过Effective C++的和没读过的。”世界顶级C++大师Scott Meyers这部成名之作,与这句话一道在全球无数读者间广为传颂。几乎所有C++书籍推荐名单上﹐本书都会位列三甲。作者高超的技术把握力、独特的视角﹑诙谐轻松的写作风格﹑独具匠心的内容组织﹐都受到极大的推崇和仿效。 对于国外技术图书,选择翻译版还是影印版,常让人陷入两难。本评注版力邀国内资深专家执笔,在英文原著基础上增加中文点评与注释,旨在融合二者之长,既保留经典的原创文字与味道,又以先行者的学研心得与实践感悟,对读者阅读与学习加以点拨、指明捷径。 经过评注的版本,更值得反复阅读与体会。希望这本书能够帮助您跨越C++的重重险阻,领略高处才有的壮美风光,做一个成功而快乐的C++程序员。

2014-10-14

编程之魂:与27位编程语言创始人对话

《编程之魂:与27位编程语言创始人对话》是27位杰出的设计师与你分享他们的智慧和经验。书中以问答方式告诉为什么要创建某种编程语言、它在技术上如何开发、如何教授和学习,以及它如何顺应时代发展等。你会发现构建成功编程语言所需的思想和步骤,它广受欢迎的原因,以及如何处理程序员常见的问题。因此,如果你想深入学习设计成功编程语言的思想,《编程之魂:与27位编程语言创始人对话》会对你大有帮助。

2014-10-14

程序设计导引及在线实践

本书是一本与众不同的程序设计入门教材,实践性以一种特殊的方式被提高到了十分重要的地位,不论对计算机专业的学生,还是非计算机专业的学生,都非常适用。 目前许多程序设计入门教材的主要内容就是详细介绍一门程序设计语言。对于计算机专业的学生,这远远不够;对于非计算机专业的学生,也略显肤浅。许多大学的本科计算机专业程序设计课程的教法,重语法规则,缺算法概念,这就容易导致学生由于基本技能缺失而在学习数据结构时产生困难,或难以学精。对于非计算机专业的学生来说,仅掌握一门程序设计语言的语法规则,写几个打印由星号组成的三角形之类的“玩具”程序,而对计算机科学的基础与灵魂 -- 算法一无所知,不明白计算机到底是怎么解决问题的,那么在日后的工作中,不但不可能自己编写实用程序,甚至会无法敏感地及时意识到,哪些问题很适合用计算机处理,可以交给计算机专业人员来做。本书将程序设计语言和最基本的算法思想相结合,是避免上述现象的一个有益尝试。

2014-10-14

漫谈设计模式

《漫谈设计模式:从面向对象开始》内容简介:模式引入计算机科学领域已经有20余年了,最初人们侧重于面向对象的设计,而现在已经应用于计算机领域的各个方面,它们对计算机产生了深远影响。 若想一本书涵盖所有模式,那么《漫谈设计模式:从面向对象开始》将会非常庞大,以前的设计模式书籍专注于介绍设计模式,虽然读者了解了这些设计模式,但是仍然不知道如何合理地使用它们,往往导致读者为了使用设计模式而设计,而不是从问题出发,使用设计模式优雅地解决这些问题。 《漫谈设计模式:从面向对象开始》主要从最基本的设计模式入手,并结合一些J2EE开发过程经常遇见的技术和概念,你将全面理解这10多个设计模式,并在开发过程中,让你真正体会和思考面向对象编程的思想,也只有掌握这些,你才会能成为一位真正的设计专家。 《漫谈设计模式:从面向对象开始》不是一本面向对象和Java语言的入门书籍,阅读对象主要是从事Java语言的软件开发人员但不限于Java语言的开发人员。

2014-10-14

改变未来的九大算法

没有满篇的专业术语,第一次让我们通过简单明了的语言、生动的例证了解支撑计算机王国的灵魂支柱——9大算法,包括人工智能、数据压缩,以及Google著名的PageRank等。 本书精彩地介绍了搜索引擎、PageRank、公开密钥加密、纠错码、模式识别、数据压缩、数据库、数字签名等内容。 在解释这些算法的同时,作者也向我们展示了充满科学原创精神的计算机世界:因为每一种算法的提出不但延伸了虚拟世界的领域,同时也是人类智慧的彰显,可以被广泛运用于众多领域。 在读完本书后,你不会成为一名更加熟练的计算机用户,但你会更珍视自己每天在所有计算设备上不停使用的思想的美。

2014-10-14

《( 如何求解问题——现代启发式方法》

《如何求解问题:现代启发式方法》通过一系列贯穿于章节间的有趣难题,《如何求解问题:现代启发式方法》深入浅出地阐述了如何利用计算机来求解问题的一些现代启发式方法。全书包括两部分,共分15章。

2014-10-13

《奇思妙想:15位计算机天才及其重大发现》

《奇思妙想:15位计算机天才及其重大发现》分为四部分,分别对应了过去数十年来计算机科学家们为之奋斗的4个基本问题。《奇思妙想:15位计算机天才及其重大发现》布局精妙、资料翔实,15位计算机科学家的少时轶闻甚至八卦故事随处可见,仿若颗颗珠贝点缀书中,读来宛然可喜,又能让人时有顿悟,掩卷长思问获得诸多启迪。追踪大师们的成长和发现之旅,便仿佛亲历计算机科学史近50年来的风云变幻。计算机科学技术发展的根基是什么?未来的若干年计算机科学将给人类带来什么?相信《奇思妙想:15位计算机天才及其重大发现》会帮助你对这些问题有更深入的思考。

2014-10-13

淘宝技术这十年(完整)

《淘宝技术这十年》从工程师的角度讲述淘宝这个超大规模互联网系统的成长历程,及其所有主动和被动的技术变革的前因后果。

2014-10-11

算法导论思考题

《算法导论思考题》!呵呵,懂行的人都知道这是好东西!这本书深入浅出,全面地介绍了计算机算法。对每一个算法的分析既易于理解又十分有趣,并保持了数学严谨性。本书的设计目标全面,适用于多种用途。

2014-10-11

程序员编程艺术(全)

很好的算法集锦,喜欢算法的人一定会如获至宝。

2014-10-11

计算机怎样解几何题

是否听说过计算机可以解几何题,可以证明几何定理并发现新的定理?计算机是人造出来的,是人想出了用计算机解题的办法并设计出一套一套的程序。计算机只不过是人的工具。本书所谭的实际上是人怎样用计算机解几何题。有兴趣的读者,不妨跟着书,自己动手在计算机上解几个题目玩玩,借此了解一些机器证明、人工智能的知识。

2014-10-11

遗传算法的数学基础

遗传算法(genetical algorithm)是模拟自然界生物进化过程与机制求解问题的一类自组织与自适应的人工智能技术,已广泛应用于计算机科学、人工智能、信息技术及工程实践。 本书重点在于阐述遗传算法的数学基础。全书共分3章,第l章给出了遗传算法的几何理论,第2章给出了遗传算法的马尔可夫链分析,第3章给出了遗传算法的收敛理论。 本书可以作为应用数学、计算机科学、系统科学等专业研究生的教材,也可以作为研究遗传算法的参考书。

2014-10-11

柔性字符串匹配

本书是一本不可多得的字符串匹配方面的专业书籍。书中对串匹配问题进行了系统化的分类,从实际效果出发,着重详细介绍了串匹配领域内效果最好的若干种算法。并且给出了具有统一接口的算法伪码,使读者能清晰理解算法原理,易于实现算法编程,从而提高专业水平。此外,书中通过严谨的理论分析和大量实验数据,说明了每种算法在实际应用中的适用范围,由此提供了良好的应用指导,解决了串匹配算法的最佳适用性问题。

2014-10-04

《算法之道》第二版(超清晰)

《算法之道》追求的目标是算法背后的逻辑,是一本启示书,而不是一本包罗万象的算法大全。因此,《算法之道》甄选了那些最能够展现算法思想、战略和精华,并能够有效训练算法思维的内容。《算法之道》将算法的讨论分为五大部分:算法基础篇、算法设计篇、算法分析篇、经典算法篇、难解与无解篇。每一个部分分别讨论算法的一大方面:基础、设计、分析、经典和难解问题。

2014-10-04

空空如也

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

TA关注的人

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