面试收集
xiaobo620
这个作者很懒,什么都没留下…
展开
-
二进制中1的个数
题目:实现一个函数,输出该数二进制表示中1的个数由于要考虑到负数等问题对数n移位,不能解决负数问题:解法1 flag = 1,向左移动flagint coutNumber1fun1(int n){ unsigned int flag = 1; int cout = 0; while(flag) { if(n&flag)cout++; flag = flag原创 2012-09-06 20:23:45 · 728 阅读 · 0 评论 -
树的子结构
面试题目:输入两颗二叉树A,B,判断B是不是A的子结构;#include #include using namespace std;typedef struct BinaryTreeNode{ int value; BinaryTreeNode * lchild; BinaryTreeNode *rchild;}BinaryTreeNode;typedef BinaryTre原创 2012-09-08 12:07:12 · 998 阅读 · 0 评论 -
oh god job
1,谈谈你对面向对象的认识面向对象,将数据结构和操作这些数据的方法结合到了一起。行成对象,现实生活中有很多对象,如汽车,他有颜色,大小等特性,它有移动,鸣笛等行为,将存储在结构中的数据与功能组合成一个新单元,就叫做对象。2,一个单词单词字母交换,可得另一个单词,如army->mary,成为兄弟单词。提供一个单词,在字典中找到它的兄弟。描述数据结构和查询过程。想法:26个字母的bit,然转载 2012-10-08 20:54:22 · 673 阅读 · 0 评论 -
树相关题目
1:二叉搜索树转换为双向链表递归思想:分为三部分,以4为根的书,以2为根的左子树,和以6为根的又子树。根据排序链表的定义,4的前驱为左子树上最大的值,后序为右子树上值最小的值。按照中序遍历的顺序,遍历到根结点4的时候,左子树已经转换为一个有序的链表了,并且处在链表最后一个位置的节点为左子树的最大节点。把4与3连接起来,4成为当前链表的最大值,然后再去转换右子树。由此可以联想到用递归。非原创 2012-10-24 20:54:58 · 637 阅读 · 0 评论 -
关于栈的题目
1:输入一个压栈序列,判断第二个序列是否为其出栈序列。例如:入栈序列:1 2 3 4 5 6,出栈序列,4,3,5,2,6,1算法思想,1:根据出栈序列,入栈,直到其栈顶等于出栈元素,栈s:4,3,2,12:栈顶与出栈序列相同出栈,否则break根据入栈序列入栈:(左为栈顶) 栈:1 2 3 4 1 2 3原创 2012-10-25 12:11:14 · 1197 阅读 · 0 评论 -
二叉树的遍历
二叉树的非递归遍历#include"stdio.h"#include#include#includeusing namespace std;//数据结构typedef struct node{ int value; struct node *lchild; struct node *rchild;}BiNode;typedef BiNode* BiTr原创 2012-10-25 10:14:10 · 529 阅读 · 0 评论