摘要: **有序度:**数组中具有有序关系的元素对的个数 有序元素对:a[i] <= a[j],如果i < j。 完全有序的数组,有序度就是 n * (n - 1) /2(满有序度) 逆序度 = 满有序度 - 有序度 冒泡排序 特性 原地 稳定 O(n**2)(最少0次交换,最多n*(n-1)/2次交换) 阅读全文
posted @ 2020-07-03 16:37 codespoon 阅读(92) 评论(0) 推荐(1) 编辑
摘要: 栈(stack) 特点:操作受限的线性表,只允许在一端插入和删除数据,后进先出 顺序栈,入栈操作有两种情况: 栈空间足够,那么直接入栈就行(定义不涉及内存搬移的入栈操作为simple-push操作,时间复杂度为O(1)) 栈空间不足,则此时需要申请一块更大的内存空间,并将栈中的所有数据(设大小为K) 阅读全文
posted @ 2020-07-03 16:31 codespoon 阅读(108) 评论(0) 推荐(0) 编辑
摘要: **链表(单链表)**是一种通过指针将一组零散的内存块串联起来的数据结构,每个链表的结点除了存储的数据之外,还需要记录链上的下一个节点的地址 链表的插入和删除(给定节点指针)时间复杂度O(1),但遍历删除的时间复杂度是O(n) 双向链表:每个结点不止有一个后继指针指向后面的结点,还有一个前驱指针指向 阅读全文
posted @ 2020-07-03 16:20 codespoon 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 点击使用幕布网页版查看(含思维导图) 数组(Array)是一种线性表结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。 最大的特点:支持随机访问,根据下标随机访问的时间复杂度为O(1) 寻址:a[i]_add = base_add + i * data_type_size 数组的插入和删除 阅读全文
posted @ 2020-07-03 16:12 codespoon 阅读(90) 评论(0) 推荐(0) 编辑