- 博客(13)
- 资源 (1)
- 收藏
- 关注
原创 归并排序总结
归并排序总结 最近学习《算法导论》,看到第二章中给出的归并排序的伪代码(给出的是合并的那一部分,不包括递归的伪代码),后想将其实现,在实现的过程中,遇到一些问题,比如在划分的两个数组中设置哨兵,算法导论中这样给出的:left[n1](解决)对于每个数组进行排序—>合并):完整代码如下:#include#define N 100#define INT_MAX
2013-06-07 15:52:13 510 1
原创 插入排序算法分析
插入排序算法分析 插入排序算法的原理类似扑克牌,最开始手中没有牌,所有的牌都反向铺在桌面上,玩家第一次起牌后,将此牌放于右手,可看成一个只有一个元素的排好序的数组,每当玩家起到其它牌的时候,就将此牌插入到合适的位置,这个合适的位置,需要玩家从右到左去比较,最终找到合适的位置,玩家左手的牌都是有序的。 代码如下所示: #includeusing
2013-06-07 13:29:24 467
原创 二叉树的层次遍历
/二叉树的层次遍历,采用队列的形式来描述;void levelOrder(PTreeT root){ PTreeT queue[MaxSize],p; p=root;//将根节点赋给p; int front=0;//队首; int rear=0;//队尾 if (p!=NULL) { queue[++rear]=p;//根节点入队;
2013-05-23 19:47:32 566
原创 递归与非递归进行二分查找
#include "stdafx.h"#include int getIndex(int *a,int n,int data)//查找值为data的元素在数组中的下标位置,采用二分查找非递归的形式;{ if (a==NULL||n { return -1; } int start=0; int end=n-1; while (start { in
2013-05-07 14:52:01 520
原创 递归与非递归判断数组是否递增
#include "stdafx.h"#include void isIncrease(int *a,int n)//非递归判断数组是否递增;{int j=0;//计数器;for (int i=1;i{if (a[i-1]>a[i])//循环判断数组中相邻的数的大小,如果前面的数大于后面的数则j增加;{j++;}}if (j>0){cout
2013-05-07 14:08:34 540
原创 关于单链表的操作,vc6.0下运行!
/*1.初始化链表;2.清空单链表;3.判断单链表是否为空;4.创建单链表;5.求单链表的长度;6.查找单链表中的任意元素;7.查找指定元素在单链表的位置;8.向单链表插入元素;9.删除单链表中的元素;10.遍历单链表;*/#include #include #include #define ENDKEY -1typedef stru
2013-05-06 15:14:46 1676
原创 某公司实习生招聘笔试题
某公司2012实习生招聘笔试题一、单项选择题(40分) 1. https协议常用的端口(A)A.443 B.80 C.8080 D.22答案选A,其中80端口是http协议所用端口,8080端口是web服务,22端口是ftp协议端口;https服务器端口号位443tcp/443udp;比较常见的端口号:远程登录Teln
2013-05-01 13:40:24 2424
原创 二叉树遍历(包括先序创建二叉树,递归非递归三种遍历)源码
图1 二叉树#include #include #include #include #include #define MaxSize 20#define Base 100#define NULLKEY '?'using namespace std;typedef char ElemType;typedef struct treeT{ ElemTy
2013-04-27 10:23:28 465
原创 一道关于循环右移的笔试题
Nsfocus笔试题:编写程序实现长度为M的数组,将该数组的前面N个数字循环右移到数组的末尾,例如:长度M=8的数组a[M]={1,2,3,4,5,6,7,8},要求移动前面N=3个数字到末尾,移动后的数组为a[M]={4,5,6,7,8,1,2,3},要求时间复杂度和空间复杂度尽可能低。//算法来自于July编写的《程序员编程艺术》#include #include #inclu
2013-04-26 14:08:31 1402
原创 关于二叉树后序遍历非递归算法详解
二叉树后序遍历非递归详解1. 首先给出一颗二叉树,如下图所示:图1 一颗简单的二叉树根据二叉树的后序遍历的特性,该二叉树后序遍历顺序为:D G E B H I F C A2. 一般遍历一颗二叉树,先序中序或者后序,大家最喜欢也最熟悉的方法是采用递归的形式来描述,但是在面试或者笔试的过程中,面试官一般都会要求采用非递归形式的二叉树遍历过程。我们先给
2013-04-26 10:47:07 3932
原创 二叉树中序遍历非递归算法详解
二叉树中序遍历非递归详解1. 首先给出一颗二叉树,如下图所示:图1 一颗简单的二叉树根据二叉树的中序遍历的特性,该二叉树中序遍历顺序为:DBGEACHFI;2. 一般遍历一颗二叉树,先序中序或者后序,大家最喜欢也最熟悉的方法是采用递归的形式来描述,但是在面试或者笔试的过程中,面试官一般都会要求采用非递归形式的二叉树遍历过程。我们先给出二叉树的递归形式
2013-04-25 14:36:04 3248 2
原创 关于数组求交集的问题
/*求两个排好序的字符串的交集,假定字符串中全部是大写字母或者小写字母或者数字中的一种,默认s1的字符串长度大于等于s2;*/#include #include int hash[26]={0};void Intersection(char *s1,char *s2){ int num=0; for (int i=0;i { int index1=s1[i]-
2013-04-24 21:02:46 591
原创 关于二叉树先序遍历非递归的分析
二叉树先序遍历非递归详解1. 首先给出一颗二叉树,如下图所示:图1一颗简单的二叉树根据二叉树的先序遍历的特性,该二叉树先序遍历顺序为:ABDEGCFHI;2. 一般遍历一颗二叉树,先序中序或者后序,大家最喜欢也最熟悉的方法是采用递归的形式来描述,但是在面试或者笔试的过程中,面试官一般都会要求采用非递归形式的二叉树遍历过程。我们先给出二叉树的
2013-04-24 20:59:00 1273 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人