经典算法题目
daxian521
这个作者很懒,什么都没留下…
展开
-
用两个栈实现一个队列和用两个队列实现一个栈
题目1:用两个栈实现一个队列。队列的生命如下,请实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入结点和在队列头部删除结点的功能。template <typename T>class CQueue { public: CQueue(void); ~CQueue(void); void appendtail(const T& node); T delet原创 2015-08-17 11:23:45 · 295 阅读 · 0 评论 -
emcpy()和memmove()区别
memcpy和memmove的区别 memcpy()和memmove()都是C语言中的库函数,在头文件string.h中,其原型分别如下:void *memcpy(void *dst, const void *src, size_t count); void *memmove(void *dst, const void *src, size_t count);它们都是从src所指向的内存中复制cou原创 2015-07-29 10:56:14 · 466 阅读 · 0 评论 -
八种常用的排序算法
八种常用的排序算法 下面要讲到的8种排序都属于内部排序,既在内存中完成,主要从理论原理方面来分析的。 插入排序 ①直接插入排序 例:六个数12 15 9 20 6 31 24 用直接插入排序,如下图: 思路: 第一步:从给出的六个数中,随便拿出一个数,比如12,形成一个有序的数据序列(一个数当然是有序的数据序列了,不看12之外的数,就当其转载 2015-06-03 09:28:48 · 431 阅读 · 0 评论 -
2013中兴通讯C++/C笔试题及答案
2013中兴通讯C++/C笔试题及答案 C++/C试题 本试题仅用于考查C++/C程序员的基本编程技能。内容限于C++/C常用语法,不涉及数据结构、算法以及深奥的语法。考试成绩能反映出考生的编程质量以及对C++/C的理解程度,但不能反映考生的智力和软件开发能力。 笔试时间90分钟。请考生认真答题,切勿轻视。一、请填写BOOL , float, 指针变量 与“零值”比较的 if 语句。(10分)原创 2015-08-26 10:45:38 · 1102 阅读 · 0 评论 -
红黑树
红黑树之前看了很多写红黑树的博客,但是感觉都讲的不太清楚!没说这样操作如何使他保持平衡的,于是疑惑重重,下面将是我对红黑树的总结!我讨论的红黑树需建立在会平衡二叉树的基础上,即若不懂“旋转”操作,请看平衡二叉树的旋转操作。红黑树(RBT)的定义:它或者是一颗空树,或者是具有一下性质的二叉查找树:1.节点非红即黑。 2.根节点是黑色。 3.所有NULL结点称为叶子节点,且认为颜色为黑。 4.所有原创 2015-08-27 21:25:14 · 259 阅读 · 0 评论 -
常用数据结构-几种特殊的二叉树
常用数据结构-几种特殊的二叉树 查找二叉树(二叉排序树) 二叉排序树(Binary Sort Tree)又称二叉查找树(Binary Search Tree)。其定义为:二叉排序树或者是空树,或者是满足如下性质的二叉树: ①若它的左子树非空,则左子树上所有结点的值均小于根结点的值; ②若它的右子树非空,则右子树上所有结点的值均转载 2015-06-03 09:25:42 · 814 阅读 · 0 评论 -
二叉树的定义、性质、存储
二叉树的定义、性质、存储 二叉树的定义 二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。 二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。 特殊二叉树 1转载 2015-06-03 10:18:18 · 412 阅读 · 0 评论 -
求字符串中最后一个单词的长度
求字符串中最后一个单词的长度。 思路:首先确定字符串的长度,然后由字符串最后一个元素开始倒叙遍历,同时设定一个计数器初始化为0,表示最后一个单词的长度。遍历字符串直到所有字符遍历结束或者碰到空格说明最有一个单词计数完毕。最后打印计数器值。#include <string> using namespace std;int main(){ char a[128]; while(cin.原创 2015-08-16 10:20:20 · 334 阅读 · 0 评论 -
面试记录 1 美团电话面试
题目:给一个数组例如A[] = {1,2,3,4,5,4,1},前面部分是按序递增,后面部分是按序递减,求该数组的最大值。思路分析:对于给定一组数的求最大值问题,可以使用简单插入,简单选择,冒泡,堆排序对其进行一次操作,可以求出最大值。经分析,时间复杂度为O(n).对数组特征分析,数组是“中间大,两边小”特征,部分有序,可以考虑使用折半查找算法进行处理。给予折半查找的算法可以根据比较元素个数有两个解原创 2015-07-21 20:28:22 · 647 阅读 · 0 评论 -
B树、B-树、B+树、B*树简要分析
原文地址 BST树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树; BST树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中;否则,如果查询关键字比结点关键字小,就进入左儿子;如果比结点关键字大,就进入右儿子;如果左儿子或右儿原创 2015-08-27 15:35:50 · 391 阅读 · 0 评论