自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (6)
  • 收藏
  • 关注

原创 递归的经典应用----汉诺塔问题

汉诺塔:汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上安大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。#include using std::cin;using std::cout;using std

2013-12-24 12:25:02 949 1

原创 基本数据结构:链式队列

队列(Queue)是只允许在一端进行插入,而在另一端进行删除的运算受限的线性表  (1)允许删除的一端称为队头(Front)。  (2)允许插入的一端称为队尾(Rear)。  (3)当队列中没有元素时称为空队列。  (4)队列亦称作先进先出(First In First Out)的线性表,简称为FIFO表。     队列的修改是依先进先出的原则进行的。新来的成员总是加入队尾

2013-12-23 22:08:49 623

原创 基本数据结构:栈

堆栈(英语:stack),也可直接称栈。在计算机科学中,是一种特殊的串行形式的数据结构,它的特殊之处在于只能允许在链结串行或阵列的一端(称为堆栈顶端指标,英语:top)进行加入资料(英语:push)和输出资料(英语:pop)的运算。另外堆栈也可以用一维阵列或连结串行的形式来完成。堆栈的另外一个相对的操作方式称为伫列。由于堆栈数据结构只允许在一端进行操作,因而按照后进先出(LIFO, Last

2013-12-23 17:13:22 679

原创 STL库list的模拟

直接看代码#ifndef LIST_H#define LIST_Htemplate class List{private: struct Node { T data;//值域 Node *prev;//前驱 Node *next;//后继 Node( const T & d = T(), Node * p = nullptr, Node

2013-12-22 22:26:16 641

原创 STL库中vector的模拟

数据结构和算法分析C++描述中作者对STL中vector进行了模拟,实现了vector的简单功能,好东西不能独享,代码奉上#ifndef VECTOR_H#define VECTOR_H#include "dsexceptions.h"template class Vector{public: explicit Vector(int size = 0) : theSize(s

2013-12-22 12:29:31 527

原创 归并排序

归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。首先考虑下如何将将二个有序数列合并。这个非常简单,只要从比较二个数列的第一个数,谁小就先取谁,取了后就在对应数列中删除这个数。然后再进行比较,如果有数列为空,那直接将另一个数列的数据依次取出即可。数据结构与算法分析C++描述中图解如下:可以看出合并有序

2013-12-20 22:27:30 473

原创 插入排序

插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。步骤⒈从有序数列{a1}和无序数列{a2,a3,…,an}开始进行排序;⒉处理第j个元素时(j=2,3,…,n),数列{a1,a2,…,aj-1}是已有序的,而数列{aj,aj+1,…,an}是无序的。用aj与aj

2013-12-20 21:25:05 592

原创 最大子序列和问题

问题: 给定一整数序列A1, A2,... An (可能有负数),求A1~An的一个子序列Ai~Aj,使得Ai到Aj的和最大 例如:整数序列-2, 11, -4, 13, -5, 2, -5, -3, 12, -9的最大子序列的和为21。对于这个问题,最简单也是最容易想到的那就是穷举所有子序列的方法。利用三重循环,依次求出所有子序列的和然后取最大的那个。当然算法复杂度会达到O(n^3)。

2013-12-20 10:00:30 671

原创 约瑟夫问题

约瑟夫问题是一个利用循环链表的经典问题,问题描述如下:(度娘搜滴)约瑟夫问题(有时也称为约瑟夫斯置换,是一个出现在计算机科学和数学中的问题。在计算机编程的算法中,类似问题又称为约瑟夫环。又称“丢手绢问题”)    据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是

2013-12-19 16:21:50 775

原创 基本数据结构:循环单链表

上篇对单链表进行了详细说明,本篇接下来说说单循环链表单循环链表就是在单链表基础上,尾巴元素指向了头,形成了圆圈,操作时只有注意尾部元素链接头就OK,废话不多说,直接上代码单循环链表定义类 CircleLinkedList.h#ifndef CIRCLE_LINKEDLIST_H#define CIRCLE_LINKEDLIST_H#include #include using

2013-12-19 13:13:06 801

原创 基本数据结构:单链表

链接方式存储的线性表简称为链表(Linked List)。     链表的具体存储表示为:  ① 用一组任意的存储单元来存放线性表的结点(这组存储单元既可以是连续的,也可以是不连续的)  ② 链表中结点的逻辑次序和物理次序不一定相同。为了能正确表示结点间的逻辑关系,在存储每个结点值的同时,还必须存储指示其后继结点的地址(或位置)信息(称为指针(pointer)或链(link))注意

2013-12-19 11:19:26 709

原创 基本数据结构:顺序表

顺序表,数组就是典型的顺序表,顺序表便于查询元素,单移动、删除时间开销比较大,好了废话少说,直接上代码,对照源码看吧#ifndef SEQLIST_H#define SEQLIST_H#include #include using std::cin;using std::cout;using std::cerr;using std::endl

2013-12-18 17:21:27 1041

原创 00 开篇

前日,与老同学喝酒聊天,一起追忆起大学里青春飞扬的岁月,感叹起岁月的流逝,默然回首,老同学们都在IT业混的风声水起,唯有我却在行业外做着非主流的事情,回家看着沾满灰尘的大学课本,感慨万千!曾经的梦想不知道藏在内心那个角落,望着熟睡的妻儿,默默做出决定,IT,我终究会回来的!本系列博文以清华尹人昆版数据结构、算法导论2本书为主线,所有代码均采用C++实现,少用文字,多用代码和注释,重新再一次

2013-12-18 09:33:53 571

转载 C语言的那些秘密之---函数返回局部变量

一般的来说,函数是可以返回局部变量的。 局部变量的作用域只在函数内部,在函数返回后,局部变量的内存已经释放了。因此,如果函数返回的是局部变量的值,不涉及地址,程序不会出错。但是如果返回的是局部变量的地址(指针)的话,程序运行后会出错。因为函数只是把指针复制后返回了,但是指针指向的内容已经被释放了,这样指针指向的内容就是不可预料的内容,调用就会出错。准确的来说,函数不能通过返回指向栈内存的指针(注意

2013-12-09 22:33:14 442

git官方使用手册

git官方使用手册

2016-03-27

电路第五版邱关源课后习题上

电路第五版邱关源课后习题上 经典大学电路教材配套习题解答

2013-07-04

邱关源电路第五版

邱关源电路第五版 经典的大学电路基础教材,电信专业的同学一定不会陌生

2013-07-04

hibernate 3.6.5 API chm格式

hibernate 3.6.5 API chm格式,希望对大家有所帮助

2011-06-24

MySql中文手册5.1

MySql中文手册5.1,我经常用到MySql,有问题需要经常翻翻,共享给大家,看看对大家有没有帮助

2010-02-15

空空如也

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

TA关注的人

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