码迷,mamicode.com
首页 >  
搜索关键字:数据结构与算法 3:二叉树    ( 1805个结果
数据结构与算法之美-堆和堆排序
堆和堆排序 如何理解堆 堆是一种特殊的树,只要满足以下两点,这个树就是一个堆。 ①完全二叉树,完全二叉树要求除了最后一层,其他层的节点个数都是满的,最后一层的节点都靠左排列。 ②树中每一个结点的值都必须大于等于(或小于等于)其子树中每个节点的值。大于等于的情况称为大顶堆,小于等于的情况称为小顶堆。 ...
分类:编程语言   时间:2018-12-02 18:32:49    阅读次数:200
Unity3D实习生面试题总结-数据结构与算法相关
数组和链表内存上的区别 两个栈实现一个队列 两个队列实现一个栈 二叉树的四种遍历 森林的遍历 ...
分类:编程语言   时间:2018-12-01 17:07:19    阅读次数:530
python数据结构与算法(13)
选择排序选择排序(Selectionsort)是?种简单直观的排序算法。它的?作原理如下。?先在未排序序列中找到最?(?)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最?(?)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。选择排序的主要优点与数据移动有关。如果某个元素位于正确的最终位置上,则它不会被移动。选择排序每次交换?对元素,它们当中?少有?个将被移到
分类:编程语言   时间:2018-11-29 18:10:14    阅读次数:171
python数据结构与算法(14)
快速排序快速排序(英语:Quicksort),?称划分交换排序(partition-exchangesort),通过?趟排序将要排序的数据分割成独?的两部分,其中?部分的所有数据都?另外?部分的所有数据都要?,然后再按此?法对这两部分数据分别进?快速排序,整个排序过程可以递归进?,以此达到整个数据变成有序序列。步骤为:从数列中挑出?个元素,称为"基准"(pivot),2.重新排
分类:编程语言   时间:2018-11-29 18:02:20    阅读次数:165
python数据结构与算法(12)
排序与搜索排序算法(英语:Sortingalgorithm)是?种能将?串数据依照特定顺序进?排列的?种算法。排序算法的稳定性稳定性:稳定排序算法会让原本有相等键值的纪录维持相对次序。也就是如果?个排序算法是稳定的,当有两个相等键值的纪录R和S,且在原本的列表中R出现在S之前,在排序过的列表中R也将会是在S之前。当相等的元素是?法分辨的,?如像是整数,稳定性并不是?个问题。然?,假设以下的数对将要
分类:编程语言   时间:2018-11-29 17:57:49    阅读次数:192
python数据结构与算法(11)
队列队列(queue)是只允许在?端进?插?操作,?在另?端进?删除操作的线性表。队列是?种先进先出的(FirstInFirstOut)的线性表,简称FIFO。允许插?的?端为队尾,允许删除的?端为队头。队列不允许在中间部位进?操作!假设队列是q=(a1,a2,……,an),那么a1就是队头元素,?an是队尾元素。这样我们就可以删除时,总是从a1开始,?插?时,总是在队列最后。这也?较符合我们通常
分类:编程语言   时间:2018-11-29 16:44:22    阅读次数:163
python数据结构与算法(6)
Python中的顺序表Python中的list和tuple两种类型采?了顺序表的实现技术,具有前?讨论的顺序表的所有性质。tuple是不可变类型,即不变的顺序表,因此不?持改变其内部状态的任何操作,?其他??,则与list的性质类似。list的基本实现技术Python标准类型list就是?种元素个数可变的线性表,可以加?和删除元素,并在各种操作中维持已有元素的顺序(即保序),?且还具有以下?为特征
分类:编程语言   时间:2018-11-28 13:20:02    阅读次数:151
python数据结构与算法(7)
单链表的操作is_empty()链表是否为空length()链表?度travel()遍历整个链表add(item)链表头部添加元素append(item)链表尾部添加元素insert(pos,item)指定位置添加元素remove(item)删除节点search(item)查找节点是否存在单链表的实现classSingleLinkList(object):"""单链表"""def__init__(
分类:编程语言   时间:2018-11-28 13:15:13    阅读次数:217
python数据结构与算法(9)
指定位置插?节点definsert(self,pos,item):"""在指定位置添加节点"""ifpos<=0:self.add(item)elifpos>(self.length()-1):self.append(item)else:node=Node(item)cur=self.__headcount=0#移动到指定位置的前?个位置whilecount<(pos-1):co
分类:编程语言   时间:2018-11-28 13:14:08    阅读次数:223
python数据结构与算法(8)
链表与顺序表的对?链表失去了顺序表随机读取的优点,同时链表由于增加了结点的指针域,空间开销?较?,但对存储空间的使?要相对灵活。链表与顺序表的各种操作复杂度如下所示:注意虽然表?看起来复杂度都是O(n),但是链表和顺序表在插?和删除时进?的是完全不同的操作。链表的主要耗时操作是遍历查找,删除和插?操作本身的复杂度是O(1)。顺序表查找很快,主要耗时的操作是拷?覆盖。因为除了?标元素在尾部的特殊情况
分类:编程语言   时间:2018-11-28 13:13:19    阅读次数:218
1805条   上一页 1 ... 62 63 64 65 66 ... 181 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!