碰到一个题目:做一个通讯录,使用ORACLE数据库,C++,二叉树存储结构,包含索引文件。
花了两天时间,把oracle和C++接口函数OCI搞定。开始考虑程序的设计。
分层考虑:
数据库层,使用C++OCI接口完成。
传输层,使用二叉树存储传递。
应用层,简单窗口化界面。
我出现了一个疑问,为什么要用二叉树,为什么不使用链表。问了辅导老师,他也有类似的疑问–“链表删除和插入的性能更加优秀”。
花了点时间做了点功课。找到了答案:
二叉排序树是一种比较有用的折衷方案。
数组的搜索比较方便,可以直接用下标,但删除或者插入某些元素就比较麻烦。
链表与之相反,删除和插入元素很快,但查找很慢。
二叉排序树就既有链表的好处,也有数组的好处。
在处理大批量的动态的数据是比较有用。
PS:google在查IT技术问题的结果要远远好于baidu。
No related posts.





No Comments » 