Click to Visit Homepage : zzyzz.top


05 2020 档案

摘要:概念 Binary Search Tree二叉搜索树的性质: 设x是binarysearchtree中的一个节点。 如果y是x左子树中的一个节点, 那么y.key<=x.key 如果y是x右子树中的一个节点,那么y.key>=x.key Python Programming # taking the 阅读全文
posted @ 2020-05-31 14:16 zzYzz 阅读(197) 评论(0) 推荐(0)
摘要:相关概念 散列表 hashtable 是一种实现字典操作的有效数据结构. 在散列表中,不是直接把关键字作为数组的下标,而是根据关键字计算出相应的下标. 散列函数 hashfunction'h' 除法散列法 通过取k除以m的余数,将关键k映射到m个slot中的某一个上.即散列函数为:h(k)=kmod 阅读全文
posted @ 2020-05-24 15:58 zzYzz 阅读(321) 评论(0) 推荐(0)
摘要:问题 Python programming # Implementing pointers and objects class linked_list(): def __init__(self, size): self.next = ['NIL', 3, 'NIL', 8, 2, 1, 5, 6] 阅读全文
posted @ 2020-05-22 15:50 zzYzz 阅读(159) 评论(0) 推荐(0)
摘要:相关概念 linkedlist链表是中这样的数据结构:其中的各个对象按线性顺序排列.数组的线性顺序是由数组的下标决定. 与数组不同的地方是linkedlist的顺序是由各个对象的指针决定的。 linkedlist为动态集合提供了一种简单而灵活的表示方法。 doublylinkedlist双向链表的每 阅读全文
posted @ 2020-05-21 14:34 zzYzz 阅读(170) 评论(0) 推荐(0)
摘要:相关概念 栈(stack)和队列(queue)都是动态集合。 在其上进行delete操作所移除的元素是预先设定的. 在stack中,被删除的是最近插入的元素: stack实现的是一种LIFO(last-in,first-out)策略。 在queue中,被删除的是在集合中存在时间最长的那个元素: qu 阅读全文
posted @ 2020-05-19 15:05 zzYzz 阅读(198) 评论(0) 推荐(0)
摘要:概念 桶排序 Bucket Sort 假设待排序的输入数据服从均匀、独立地分布在区间 [ 0, 1 ). 桶排序将区间 [ 0, 1)划分为 n 个相同大小的子区间, 或称为 桶 bucket. 然后, 将输入的 n 个数据分别放到各个桶中. 进而, 先对每个桶中的数进行排序, 然后遍历每个桶, 按 阅读全文
posted @ 2020-05-18 15:21 zzYzz 阅读(103) 评论(0) 推荐(0)
摘要:概念 桶排序 Bucket Sort 假设待排序的输入数据服从均匀、独立地分布在区间 [ 0, 1 ). 桶排序将区间 [ 0, 1)划分为 n 个相同大小的子区间, 或称为 桶 bucket. 然后, 将输入的 n 个数据分别放到各个桶中. 进而, 先对每个桶中的数进行排序, 然后遍历每个桶, 按 阅读全文
posted @ 2020-05-18 15:19 zzYzz 阅读(208) 评论(0) 推荐(0)
摘要:Python Programming def insertion_sort(A): print('Before: ',A) for j in range(1,len(A)): print('Step ', j) key = A[j] i = j - 1 print(111, i, j, A[i], 阅读全文
posted @ 2020-05-18 13:51 zzYzz 阅读(145) 评论(0) 推荐(0)
摘要:概念 基数排序 radix sort 是先按最低有效位进行排序来解决排序问题. 下图是一个7个3位数的继续排序徐排序. '排序基数' 的顺序依次为: 个位 -> 十位 -> 百位 对每一个排序基数进行排序的时候需要保证排序的 '稳定性'. 即: 具有相同的元素值在输出数组中的相对次序与它们在输入数组 阅读全文
posted @ 2020-05-17 17:07 zzYzz 阅读(247) 评论(0) 推荐(0)
摘要:相关概念 计算排序 Counting Sort 有别于 '比较' 排序(通过比较元素大小等到排序结果的算法的统称). 计算排序假设 n 个输元素中的每一个都是在 0 到 k(整数) 区间内的一个整数. 计算排序 Counting Sort 算法的基本思想是: 对集合中的每一个元素 x , 统计小于 阅读全文
posted @ 2020-05-14 16:12 zzYzz 阅读(299) 评论(0) 推荐(0)
摘要:相关概念 快速排序法 Quicksort 也是一个分治思想的算法. 对一个子数组 A[p: r] 进行快速排序的三步分治过程: 1, 分解. 将数组 A[p : r] 被划分为两个子数组(可能为空) A[p : q-1] 和 A[q+1 : r] , 使得 A[p : q-1] 中的每一个元素都小于 阅读全文
posted @ 2020-05-13 13:37 zzYzz 阅读(175) 评论(0) 推荐(0)
摘要:Priority queue - 优先队列 相关概念 Priority queue优先队列是一种用来维护由一组元素构成的集合S的数据结构, 其中的每一种元素都有一个相关的值,称为关键字(key)。 一个最大有限队列支持一下操作: insert(S,x):把元素x插入到集合S中. maximum(S) 阅读全文
posted @ 2020-05-12 13:20 zzYzz 阅读(241) 评论(0) 推荐(0)
摘要:概念 堆(heap): 堆是一个数组, 它可以被看成一个近似的完全二叉树. 树的每一个结点对应数组中的一个元素. 树的根节点是 A[1] 堆包含2个属性 A.length 表示数组A中元素的个数, A.heap_size 表示数组A中存储的堆元素的个数. 也就是说: 虽然 A[1,.., lengt 阅读全文
posted @ 2020-05-11 15:03 zzYzz 阅读(161) 评论(0) 推荐(0)
摘要:问题: 求解矩阵乘法 C = A * B, 已知 A, B, C 均为 N x N 的方阵, 切 N 为 2 的幂(为简化问题). A = [[A11, A12], [A21, A22]] B = [[B11, B12], [B21, B22]] C = [[C11, C12], [C21, C22 阅读全文
posted @ 2020-05-10 13:33 zzYzz 阅读(524) 评论(0) 推荐(0)
摘要:1 # 先求解第三种跨越中点的情况 2 def find_max_crossing_subarry(A, low, mid, high): 3 # 求解最大的A[L, mid](mid 始终不变, L >= i) 4 left_sum = -float('inf') 5 suml = 0 6 max 阅读全文
posted @ 2020-05-09 16:59 zzYzz 阅读(301) 评论(0) 推荐(0)


Click to Visit Homepage : zzyzz.top