摘要: 建立AVL树 1 class AVLNode(object): 2 def __init__(self,data): 3 self.data = data 4 self.lchild = None 5 self.rchild = None 6 self.parent = None 7 self.bf 阅读全文
posted @ 2019-04-11 00:25 ok代码我改了 阅读(595) 评论(0) 推荐(0) 编辑
摘要: 通用数据结构关系 可以根据下图选择合适的通用数据结构 数组 使用场景 数组在以下三个情形下很有用: 1)数据量较小。 2)数据规模已知。 3)随机访问,修改元素值。 如果插入速度很重要,选择无序数组。如果查找速度很重要,选择有序数组,并使用二分查找。 缺点 1)需要预先知道数据规模 2)插入效率低, 阅读全文
posted @ 2019-04-10 09:16 ok代码我改了 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 题目: 给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 思路:<时间复杂度为O(n)> 设立两个 阅读全文
posted @ 2019-04-09 10:42 ok代码我改了 阅读(205) 评论(0) 推荐(0) 编辑
摘要: ►快速排序 <时间复杂度O(n㏒n)> 1 def partition(li,left,right): 2 tmp = li[left] 3 while left < right: 4 while left<right and li[right]>=tmp: #从最右面开始找比tmp小的数 5 ri 阅读全文
posted @ 2019-04-07 13:25 ok代码我改了 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 【问题】 求两字符序列的最长公共字符子序列 1 def lcs_length(x,y): 2 m = len(x) 3 n = len(y) 4 c = [[0 for _ in range(n+1)] for _ in range(m+1)] 5 for i in range(1,m+1): 6 阅读全文
posted @ 2019-04-07 11:41 ok代码我改了 阅读(312) 评论(0) 推荐(0) 编辑