随笔分类 -  数据结构与算法

摘要:@[toc] 一、平衡二叉树定义 平衡二叉树又称AVL树 。它可以是一颗空树,或者具有以下性质的 二叉排序树 :它的左子树和右子树的高度之差(平衡因子)的绝对值不超过1且它的左子树和右子树都是一颗平衡二叉树。 从上面简单的定义我们可以得出几个重要的信息: 平衡二叉树 又称 AVL树 平衡二叉树必须是 阅读全文
posted @ 2019-12-16 19:31 宜春 阅读(9441) 评论(4) 推荐(4) 编辑
摘要:前言 在 "【算法04】树与二叉树" 中,已经介绍过了关于树的一些基本概念以及二叉树的前中后序遍历,而这篇文章将是在二叉树的基础上来展开讲解的二叉搜索树,也就是说二叉搜索树建立在树的基础之上。至于博主为何要花一整篇文章来讲这个二叉搜索树呢?原因很简单,红 黑树是基于二叉搜索树的,如果对二叉搜索树不了 阅读全文
posted @ 2019-12-16 07:40 宜春 阅读(841) 评论(1) 推荐(2) 编辑
摘要:一到周末就开始放荡自我,这不带着女朋友去万达电影院看电影(其实是由于整天呆在家敲代码硬是 被女朋友强行拖拽去看电影,作为一个有理想的程序员,我想各位应该都能体谅我),一到电影院, 女朋友说要买爆米花和可乐,我当时二话没说,臣本布衣躬耕于南阳,壤中羞涩,所以单买了爆米 花,买完都不带回头看老板的那种, 阅读全文
posted @ 2019-11-22 07:58 宜春 阅读(1258) 评论(11) 推荐(9) 编辑
摘要:前面我们讲的都是线性表结构,栈、队列等等。今天我们讲一种非线性表结构,树。树这种数据结构比线性表的数据结构要复杂得多,内容也比较多,首先我们先从树(Tree)开始讲起。 @[toc] 树(Tree) 树型结构是一种非线性结构,它的数据元素之间呈现分支、分层的特点。 1.树的定义 树(Tree)是由n 阅读全文
posted @ 2019-11-20 08:07 宜春 阅读(598) 评论(2) 推荐(0) 编辑
摘要:今天我们来聊聊“链表(Linked list)”这个数据结构。 在我们上一章中 "【从今天开始好好学数据结构02】栈与队列" 栈与队列底层都是采用顺序存储的这种方式的,而今天要聊的链表则是采用链式存储,链表可以说是继数组之后第二种使用得最广泛的通用数据结构了,可见其重要性! 相比 "数组" ,链表是 阅读全文
posted @ 2019-11-19 09:53 宜春 阅读(454) 评论(0) 推荐(1) 编辑
摘要:我们今天主要来谈谈“栈”以及队列这两种数据结构。 回顾一下上一章中 "【数据结构01】数组" 中,在数组中只要知道数据的下标,便可通过顺序搜索很快查询到数据,可以根据下标不同自由查找,然而今天要讲的“栈”以及队列这两种数据结构访问是受限制的,只允许在一端读取、插入和删除数据,这时候对它存在的意义产生 阅读全文
posted @ 2019-11-18 19:38 宜春 阅读(655) 评论(0) 推荐(3) 编辑
摘要:面试的时候,常常会问数组和链表的区别,很多人都回答说,“链表适合插入、删除,时间复杂度O(1);数组适合查找,查找时间复杂度为O(1)”。实际上,这种表述是不准确的。数组是适合查找操作,但是查找的时间复杂度并不为O(1)。即便是排好序的数组,你用二分查找,时间复杂度也是O(logn)。所以,正确的表 阅读全文
posted @ 2019-11-15 10:19 宜春 阅读(868) 评论(0) 推荐(5) 编辑
摘要:你是否曾跟我一样,因为看不懂数据结构和算法,而一度怀疑是自己太笨?实际上,很多人在第一次接触这门课时,都会有这种感觉,觉得数据结构和算法很抽象,晦涩难懂,宛如天书。正是这个原因,让很多初学者对这门课望而却步。 我个人觉得,其实真正的原因是你没有找到好的 学习方法 ,没有抓住学习的重点。实际上,数据结 阅读全文
posted @ 2019-11-14 10:21 宜春 阅读(538) 评论(0) 推荐(1) 编辑
摘要:现如今大学生学习排序算法,除了学习它的算法原理、代码实现之外,作为一个大学生更重要的往往是要学会如何评价、分析一个排序算法。排序对于任何一个程序员来说,可能都不会陌生。大部分编程语言中,也都提供了排序函数。在平常的项目中,我们也经常会用到排序。排序非常重要!本章主要从如何分析一个算法开始入手,从而循 阅读全文
posted @ 2019-11-12 08:43 宜春 阅读(851) 评论(2) 推荐(5) 编辑

点击右上角即可分享
微信分享提示