- 1、本文档共68页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机应届毕业生常见面试题目
计算机应届毕业生常见面试题目汇总
1. 把二元查找树转换成排序的双向链表
题目 :输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能
创建任何新的结点,只调整指针的指向。
比如将二元查找树
10
/ \
6 14
/ \ / \
4 8 12 16
转换成双向链表
4=6=8=10=12=14=16 。
分析:本题是微软的面试题。很多与树相关的题目都是用递归的思路来解决,本题也
不例外。二元查找树 BST 的一个重要特性便是如果按照中序方式对其进行遍历,结果是一个
有序的序列。
所以我们可以中序遍历整棵树。按照这个方式遍历树,比较小的结点总是最先被访问。
如果我们每访问一个结点,假设之前访问过的结点已经调整成一个排序好的双向链表,我们
再调整当前结点的指针,将其链接到链表的末尾。当所有结点都访问过之后,整棵树也就转
换成一个排序双向链表了。
源码:
#include iostream
using namespace std;
typedef struct node
{ int data;
struct node *left;
struct node *right;
}BSTNode;
int InsertBST(BSTNode *bt, int k)
{ //作为叶子结点插入 BST 树
if(bt NULL)
{ bt=(BSTNode*)malloc(sizeof(BSTNode));
bt-data=k;
bt-left=bt-right=NULL;
return 1;
}
if(bt-data k)
return 0;
if(bt-datak)
return InsertBST(bt-left, k);
if(bt-datak)
return InsertBST(bt-right, k);
}
计算机应届毕业生常见面试题目汇总
void CreateBST(BSTNode *bt, int r[], int n)
{ int i;
for(i=0; in; i++)
{ InsertBST(bt, r[i]);
}
}
void ConvertToDLinkList(BSTNode *bt, BSTNode *visited)
{ BSTNode *cur=bt;
if(cur!=NULL)
{ ConvertToDLinkList(cur-left, visited);
cur-left=visited;
if(visited!=NULL)
visited-right=cur;
visited=cur;
ConvertToDLinkList(cur-right, visited);
}
}
void DispDLinkList(BSTNode *bt)
{ while(bt!=NULL)
{ printf(%d , bt-data);
bt=bt-right;
}
}
int main()
{ int r[5]={3,88,9,42,16};
BSTNode *bt=NULL;
CreateBST(bt, r, 5);
BSTNode *h=NULL;
ConvertToDLinkList(bt, h);
//查找双链表的开始结点
while(h-left!
您可能关注的文档
最近下载
- 人教版小学五年级语文下册电子课本.pdf
- 解一元一次不等式专项练习-(80题-附答案).pdf VIP
- 孤岛工作面危险性分析.docx
- 伯恩斯 营销调研(第9版)Burns9e_ch01_PPTaccessible.pptx VIP
- 浙江省金华市永康市2023年九年级适应性考试科学试题卷.pdf
- 2024年中小学生科学知识竞赛试题及答案.docx
- 一种云台式激光甲烷泄露测量装置.pdf VIP
- SL319-2018 混凝土重力坝设计规范.docx
- 电信iTV机顶盒中兴ZXV10 B860AV1.1-T刷机(线刷).docx VIP
- 饮料灌装机plc控制系统设饮料灌装机plc控制系统设计饮料灌装机plc控制系统设计饮料灌装机plc控制系统设计.doc
文档评论(0)