have some music
浅谈递归 浅谈递归
本文我们来简单聊一聊递归的问题,首先我们们先了解一下,什么是递归。在数学与计算机科学中,递归是指在函数的定义中使用函数自身的方法。实际上,递归,顾名思义,其包含了两个意思:递 和 归,这正是递归思想的精华所在。那么一个完整的递归应该具备哪些
2020-10-14
贪心算法 贪心算法
本文我们来聊一聊贪心算法,首先我们先了解一下,什么是贪心算法。贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,算法得到的是在某种意义上的局部最优解。贪心算法是一种对某些求最优解
2020-10-13
二叉树的遍历 二叉树的遍历
本期我们聊一聊二叉树的遍历。在讲堆排序的时候,已经为大家讲解了树的基本知识,不了解的同学可以去看一下堆排序的文章,在这里就不再赘述了。那么首先先画一棵简单的二叉树:****然后我们用代码实现这棵二叉树: class BitreeNode:
2020-10-09
Python 链表 Python 链表
在本文中我们来简单聊一聊Python的链表。首先我们要先了解一下什么是链表,它于数组(列表)有什么区别。链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素
2020-10-08
迷宫问题2--浅谈广度优先搜索 迷宫问题2--浅谈广度优先搜索
上期文章中,我们通过迷宫问题引入了深度优先搜索,采用了一种利用栈的思想,在本文中,将为大家引入广度优先搜索的思想,利用了一种队列的方式。首先,什么是广度优先搜索?广度优先搜索算法(Breadth-First Search,BFS)是一种盲目
2020-10-07
迷宫问题--浅谈深度优先搜索 迷宫问题--浅谈深度优先搜索
在数据结构中,我们先学习的是栈和队列,在本文中,我们来简单聊一聊栈。栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或
2020-10-06
Python 队列 Python 队列
本文将简单阐述一下Python数据结构中队列的原理即实现方式。首先我们来看一下,什么是队列:队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。队列是一种先进先出(First in First Out)的线性表,简
2020-10-06
归并排序 归并排序
这次要和大家聊一聊归并排序,那么什么是归并排序呢,首先给大家举一个简单的例子:****如上图,我们得到一个列表,其实这个列表有一个规律,那就是如果我们从中间截断,左右两边的小列表其实是有序的,在学习数据结构时,我们学习过一个经典例题,合并两
2020-10-04
堆排序 堆排序
学习过堆排序后,今天我们来学习一下堆排序,在学习堆排序之前,我们首先来简单学习一下树的基本知识。树是一种数据结构,它是由n(n>=1)个有限结点组成一个具有层次关系的集合。虽然将其称之为树,但它是树根在上,叶子在下的结构,每棵树都具有
2020-10-03
快速排序 快速排序
在排序算法中,有多种排序方式,例如比较低级的:冒泡排序、选择排序、插入排序。还有相对高级一些的排序方式,比如说这次要说的快速排序。快速排序相较于三种低级排序的优势在于其时间复杂度较小O (nlogn),其利用了递归的思想,相较于循环结构,大
2020-10-02
1 / 2