自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

harrykate的专栏

菜鸟上路,向各位大神学习,并成长为带新菜鸟的老鸟!

  • 博客(22)
  • 资源 (2)
  • 收藏
  • 关注

原创 二叉树的建立(非递归建立与定义建立)与基本操作(广度和深度遍历,求叶子树高)实现

二叉树的建立可以用二叉树性质第六条建立,也可以按照完全二叉树的定义的建立。而遍历主要分为广度优先遍历和深度优先遍历,深度优先遍历又分为递归前序遍历、递归后序遍历、递归中序遍历,和非递归前序遍历、非递归后序遍历、非递归中序遍历。广度优先遍历主要用队列的思想实现,而深度优先遍历如上述所说用递归和非递归思想实现。现在说说建立和遍历的实现思想。二叉树建立的基本思想是:依次输入节点信息,若输入的

2014-09-14 17:15:19 1129

原创 软件工程基础与数据库基础(基本的概念)

一、软件工程基础

2014-09-14 10:50:30 3012 1

原创 链表(单双链表)用法与基本操作(构建、查找、插入、删除)实现

要用好链表的首要前提就是要理解什么是链表。链表是用任意存储单元来存放数据的,这个存储单元可以使连续的,也可以是不连续的。为了正确的表示元素间的逻辑关系,在存储每个元素值得同时还必须存储指示其后继或是前驱元素的地址信息。这两部分信息组成数据元素的存储映像即结点。包含两个域,数据域和指针域。故而可以用结构体来表示链表中的结点,并且每个新结点使用前都要动态分配存储空间。如果想要了解清楚p->next,p

2014-09-14 00:42:14 1085

转载 常用算法五(分支界限法)

一、基本描述    类似于回溯法,也是一种在问题的解空间树T上搜索问题解的算法。但在一般情况下,分支限界法与回溯法的求解目标不同。回溯法的求解目标是找出T中满足约束条件的所有解,而分支限界法的求解目标则是找出满足约束条件的一个解,或是在满足约束条件的解中找出使某一目标函数值达到极大或极小的解,即在某种意义下的最优解。   (1)分支搜索算法    所谓“分支”就是采用广度优先的

2014-09-13 19:56:05 755

转载 常用算法四(回溯算法)

1、概念      回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。   回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。    

2014-09-13 19:54:33 513

转载 常用算法三(贪心算法)

一、基本概念:      所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。     贪心算法没有固定的算法框架,算法设计的关键是贪心策略的选择。必须注意的是,贪心算法不是对所有问题都能得到整体最优解,选择的贪心策略必须具备无后效性,即某个状态以后的过程不会影响以前的状态,只与当前状态有关。 

2014-09-13 19:50:26 531

转载 常用算法思想二(动态规划)

一、基本概念    动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。二、基本思想与策略    基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为后一子问题的求解提供了有用的信息。在求解任一子问题时,列出各种可能

2014-09-13 19:46:54 615

转载 常用算法思想一(分治思想)

一、基本概念   在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变换)……    任何一个可以用计算机求解的问题所需的计算时

2014-09-13 19:41:43 732

原创 华为机试网测题目总结2014/9/12提前批

吐槽的很久的华为,zongyu

2014-09-12 23:38:16 3317 2

原创 笔记(二叉树堆栈实现)

/*prime : 素数、质数Get all the primes less than a known number N.*///main#include #include #include #include "BinaryTree.h"using namespace std;int main(){ BinaryTree bt( 12 )

2014-09-12 09:22:32 1433

原创 笔记代码(各种算法实现)

//此法可以按照不排序输出,符合题意用vector>int main (){ int invalid = 0; vector> VoteResult; vector>::iterator it; string str1 , str2 ; int i=0; int found=0; while(1) { cin >> str1; if

2014-09-12 09:20:27 1295

原创 多线程编程在C++下实现的简单实例

C++本身并没有提供任何多线程机制,但是在windows下,我们可以调用SDK win32 api来编写多线程的程序,下面就此简单的讲一下: 创建线程的函数HANDLE CreateThread(     LPSECURITY_ATTRIBUTES lpThreadAttributes, // SD    SIZE_T dwStackSize,      

2014-09-11 00:22:25 809 3

原创 strcat,strcpy,strcmp,strlen函数原型及其写法

相信大家对这几个函数相当熟悉,但是能q

2014-09-09 22:27:16 5083

原创 stack与queue用法及它们的几层含义

stack的默认存储空间也是deque,其他的声明和queue差不多,可以使用的容器类型包括deque、vector、list

2014-09-08 13:21:12 1815

原创 deque的用法及其与vector、list应用比较

deque(小片的连续,小片间用链表相连,实际上内部有一个map的指针,因为知道类型,所以还是可以使用[ ],只是速度没有vector快)快速的访问随机的元素,快速的在开始和末尾插入元素。随机的插入删除元素要慢,空间的从新分配空间后,原有的元素不需要备份。对deque的排序操作,可将deque先复制到vector,排序后再复制回deque

2014-09-08 12:18:29 748

原创 list基本用法程序举例

list作为 list(每个元素间用链表相连)访问随机元素没有vector快,随机地插入元素要比vector快,对每个元素分配空间,不存在空间不够,重新分配的情况。

2014-09-08 10:33:34 660

转载 C++各个容器比较(vector,deque,list,set,map,queue,stack)

1、vector(连续的空间存储,可以使用[ ]操作符)可以快速的访问随机的元素,快速的在末尾插入元素,但是在序列中间随机的插入、删除元素要慢。而且,如果一开始分配的空间不够时,有一个重新分配更大空间的过程。2、deque(小片的连续,小片间用链表相连,实际上内部有一个map的指针,因为知道类型,所以还是可以使用[ ],只是速度没有vector快)快速的访问随机的元素,快速的在开始和末尾插

2014-09-07 17:32:40 844

原创 qsort函数(快速排序用法举例)

上一篇讲了sort函数的用法,现在讲讲库函数qsort的用法,qsort是快速排序的库函数,包含头文件#include”stdlib.h”,其函数原型如下:

2014-09-07 10:49:20 2688

原创 sort函数妙用举例

排序在编程中是不可或缺的重要思想,实现的方法也很多,什么冒泡、二分查找、快速、归并、希尔、选择排序等方法都可以实现排序,当然会写这些排序方法是基本功的体现,但是有时候可以直接用STL中自带的排序函数sort,qsort,这样为程序编写提供便利。Sort函数需要包含的头文件是#include”algorithm”,它是将给定区间的元素进行排序,用法如下:

2014-09-06 11:43:04 711

原创 vector和map巧解华为机试题

描述:模拟n个人参加选举的过程,并输出选举结果:假设候选人有四人,分别用“A”、”B”、”C”、”D”表示,选举时开始计票, 若输入的不是“A”、”B”、”C”、”D”则视为无效票。选举结束后获取各个候选人的得票数以及无效票的个数,输出结果以添加候选人的顺序进行顺序输出,最后一行为无效的数量。同时getVoteResult命令为结束命令。运行时间限制:无

2014-09-06 09:18:16 661

原创 浅议vector和map用法

首先简单介绍一下vector和map的概念吧。   vector是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。    map是STL的一个关联容器,提供一对一数据处理能力。如map,第一个数据时关键字,第二个是关键字的值,内部有一颗红黑树,实现以关键字为评判标准的自动排序,默认为升序,在编程中提供快

2014-09-06 08:40:03 1108 1

原创 今天才开通CSDN博客,惭愧,菜鸟上路啦

这是一个最菜的问题,但是必要的。因为我是为IT菜鸟服务的,有的菜鸟在申请博客时真的会遇到困难,需要一个指导性的文本。  菜鸟们别感叹,谁不是从菜中过来的。菜过,然后不菜了。有人死不认菜,结果老是真的很菜。要菜的潇洒。  少闲话。申请CSDN博客先到CSDN的首页http://www.csdn.net。  点击右上角的“注册”链接,见如下页面,首先填写会员信息:

2014-09-04 19:52:08 672 1

100个Java小程序

关于Java的100个小程序,可供大家学习Java编程,对于代码的熟悉与运用大有好处

2012-04-04

Java 象棋程序

Java的源代码 一个关于象棋的小游戏程序的源代码,可供大家学习Java程序的编写

2012-04-04

空空如也

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

TA关注的人

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