原文:浅入浅出数据结构(12)——从二分查找到二叉树

在很多有关数据结构和算法的书籍或文章中,作者往往是介绍完了什么是树后就直入主题的谈什么是二叉树balabala的。但我今天决定不按这个套路来。我个人觉得,一个东西或者说一种技术存在总该有一定的道理,不是能解决某个问题,就是能改善解决某个问题的效率。如果能够先了解到存在的问题以及已存在的解决办法的不足,那么学习新的知识就更容易接受,也更容易理解。 万幸的是,二叉树的讲解是可以按照上述顺序来进行的。 ...

2017-08-04 21:30 1 2731 推荐指数:

查看详情

数据结构&算法】12-线索二叉树

目录 前言 线索二叉树的概念 线索二叉树的实现 线索二叉树的寻点思路二 类双向链表参考图 参考代码 中序遍历线索化 前言 在《大话数据结构》P190 页中有一句话:其实线索二叉树,就等于是把一棵二叉树转变成了一个 ...

Fri Nov 12 19:58:00 CST 2021 0 294
数据结构(6)——游标数组及其实现

  在前两次博文中,我们由线性表讲到数组,然后又由数组的缺陷提出了指针式链表。但是指针式链表也不是完美无缺的,在某些没有指针数据类型的编程语言中,指针式链表是无法由我们来实现的,但是有时候我们又希望能用上链表,因为链表可以快速的进行插入和删除。这个时候我们就可以使用一种由数组来实现的“链表 ...

Sun Apr 02 08:49:00 CST 2017 0 1844
数据结构(18)——希尔排序

  在上一篇博文中我们提到:要令排序算法的时间复杂度低于O(n2),必须令算法执行“远距离的元素交换”,使得平均每次交换减少不止1逆序数。   而希尔排序就是“简单地”将这个道理应用到了插入排序中, ...

Wed Sep 20 00:21:00 CST 2017 1 996
数据结构(20)——快速排序

  正如上一篇博文所说,今天我们来讨论一下所谓的“高级排序”——快速排序。首先声明,快速排序是一个典型而又“简单”的分治的递归算法。   递归的威力我们在介绍插入排序时相比已经见识过了:只要我前面的 ...

Fri Sep 22 04:33:00 CST 2017 0 1626
数据结构(10)——树的简介

  到目前为止,我们一直在谈论的数据结构都是“线性结构”,不论是普通链表、栈还是队列,其中的每个元素(除了第一个和最后一个)都只有一个前驱(排在前面的元素)和一个后继(排在后面的元素),但是在(9)中,我们发现有的时候“线性结构”是不能满足我们的需求的,必然存在某些场景需要我们使用非线性的数据结构 ...

Fri Jul 28 09:04:00 CST 2017 0 3355
数据结构(9)——多重表(广义表)

  在深入数据结构系列前面的文章中,我们一直在讨论“线性表”,其形式如下:   由a1,a2,a3,……a(n-1)个元素组成的序列,其中每一个元素ai(0<i<n)都是一个“原子”,“原子”的意思就是说元素本身是一个个体,所有元素都是相同的结构。   但是在我们常见 ...

Tue May 23 01:14:00 CST 2017 0 2054
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM