|
【1】菜鸟教程
【2】leetcode
【3】Python语言程序设计
(1)PEP8规范
(2)二叉树,前中后二叉树的遍历方法
前序遍历:根左右。先打印,再遍历左子树,再遍历右子树;
中序遍历:左根右。先遍历左子树,再打印,再遍历右子树;
后序遍历:左右根。先遍历左子树,再遍历右子树,再打印。
已知前序遍历和后序遍历,无法确定一颗唯一的二叉树
例子:知道中序和后序遍历,画二叉树和写出前序遍历
(3)哈希桶
(4)排序法(时间复杂度、空间复杂度)类别 | 排序法 | 时间复杂度 | 空间复杂度 | 性能 | 备注 | | 桶排序 | O(m+n) | O(m+n) | 稳定 | 年龄的范围为1-120,此时就可以开辟120个桶进行统计排序 | | 哈希桶排序 | O(m+n) | O(m+n) | 稳定 | 哈希桶因子(hashFactor):hashFactor = (max - min) / length | 交换排序 | 冒泡排序 | O(n2) | O(1) | 稳定 | n小时较好 | 交换排序 | 快速排序 | O(n*log2n) | O(log2n)~O(n) | 不稳定 | n大时较好,时间复杂度最小O(n*log2n) | 选择排序 | 选择排序 | O(n2) | O(1) | 不稳定 | n小时较好 | 选择排序 | 堆排序 | O(nlogn) | O(1) | 不稳定 | n大时较好 | | 插入排序 | O(n2) | O(1) | 稳定 | 大部分已排序时较好 | | 归并排序 | O(nlogn) | O(n) | 稳定 | n大时较好 | (5)使用 pdb 进行调试--python断点调试
(6)python logging模块、logging模块2
(7)filter: 返回True的数据
list( filter( None, [1,0, False, True ]) )
[1, True]
list( filter ( lambda x: x%2, range(10) ))
[1,3,5,7,9]
被2整除余数是1的数据全部输出来。
(8)map:映射函数,将每个迭代元素作为函数参数进行计算,得到新的全部序列:
list( map( lambda x: x*2, range(10) ))
[0,2,4,6,8,10,12,14,16,18]
【4】牛客网华为机试题之Python解法
B站视频讲解:挺好的python学习网站 |
|