
数据结构与算法
文章平均质量分 54
agaoq
这个作者很懒,什么都没留下…
展开
-
数据结构--堆排序及Python实现
1. 堆: 是一种顺序结构存储的完全二叉树。2. 大根堆: 根结点的关键字不小于孩子结点的关键字。(从小到大排序) 小根堆:根结点的关键字不大于孩子结点的关键字。 (从大到小排序)3. 堆的构建: 从最后一个非叶子结点(数组中编号为 i= len(arr)//2 -1 )开始,从下到上,从右到左开始调整。以大根堆为例,如果第i 个结点的孩子结点(左孩子结点的编号为k=2*i+1,...原创 2018-03-03 17:25:42 · 162 阅读 · 0 评论 -
数据结构之快速排序
快速排序: 是一种交换排序方法,采用分治策略。 基本思想: 从待排序列中随机选择一个元素作为基准元素; 将序列中比基准元素大的放在基准元素的右边,比基准元素小的放在其左边; 对基准元素的左右区间分别重复上述第1步和第2步。 复杂度 平均时间 最差情况 最好情况 空间复杂度 稳定性 O(nlogn) O(n^2) O(nlogn) O(logn...原创 2018-03-08 20:38:31 · 152 阅读 · 0 评论 -
网易2019秋季校园招聘编程题真题部分
1。俄罗斯方块 小易有一个古老的游戏机,上面有着经典的游戏俄罗斯方块。因为它比较古老,所以规则和一般的俄罗斯方块不同。 荧幕上一共有 n 列,每次都会有一个 1 x 1 的方块随机落下,在同一列中,后落下的方块会叠在先前的方块之上,当一整行方块都被占满时,这一行会被消去,并得到1分。 有一天,小易又开了一局游戏,当玩到第 m 个方块落下时他觉得太无聊就关掉了,小易希望你告诉他这...原创 2018-08-15 00:10:45 · 2005 阅读 · 0 评论 -
表达式求值(2019网易编程题)
今天上课,老师教了小易怎么计算加法和乘法,乘法的优先级大于加法,但是如果一个运算加了括号,那么它的优先级是最高的。例如: 1 2 3 4 1+2*3=7 1*(2+3)=5 1*2*3=6 (1+2)*3=9 现在小易希望你帮他计算给定3个数a,b,c,在它们中间添加”+”, “*”, “(“, “)”符号,能够获得的最大值。 输入描述: 一行三个数a,b,c (1 &l...原创 2018-08-15 21:11:02 · 837 阅读 · 0 评论 -
排序复习
# bubble sort # 冒泡排序(交换排序) """ - 基本思想是 通过与相邻元素的比较和交换,把较小的元素交换到最前面。 - 时间复杂度 O(n^2), 空间复杂度 O(1) """ def bubble_sort(seq): n = len(seq) for i in range(n-1, -1, -1): for j in range(i): ...原创 2018-08-23 16:44:09 · 173 阅读 · 0 评论 -
树的复习
""" This script concerns tree structure and its kinds of traversal: inorder, preorder, postorder and level order """ class Node(): def __init__(self, x=-1): self.val = x self.left ...原创 2018-08-23 16:44:52 · 164 阅读 · 0 评论