一.知识梳理 若整个排序过程不需要访问外存便能完成,则称此类排序问题为内部排序 逐步扩大记录的有序序列长度的过程 外部排序 插入 交换 选择归并 分配 排序算法效率的评价指标:时间效率 空间效率 稳定性 ( A和B的关键字相等,排序后A、B的先后次序保持不变) ?直接插入排序(基于顺序查找) 从R[ ...
分类:
其他好文 时间:
2020-07-12 19:04:26
阅读次数:
67
一、什么是循环双链表 从上一节我们看出循环单链表是尾节点指针指向头节点,那么以此类推,我们的循环双链表就是头节点的prior指针指向尾节点。所以我们在判断循环双链表是否为空时就是其prior和next同时指向一个节点就为空。 循环双链表的结构: typedef struct CDLinkNode { ...
分类:
其他好文 时间:
2020-07-12 18:39:29
阅读次数:
64
一、什么是循环单链表 循环单链表与单链表最本质的区别就是最后一个指针指向的节点不是NULL而是指向头节点,从而形成一个闭环。 所以我们在判断指针是否指向尾节点时候的判断条件就是他的next是否指向头节点。 循环单链表的结构: typedef struct { //定义循环单链表的节点类型 ElemT ...
分类:
其他好文 时间:
2020-07-12 18:33:37
阅读次数:
59
前言 在刷 leetcode 时,遇到了 stack-buffer-overflow, 这个问题比较常见,干脆总结一下原因。本文是在 linux 下操作的,需要使用一些相关的命令。 stack 是什么 一般 stack 这个词有两个意思,即 stack 这种数据结构,和虚拟内存中 stack 这个段 ...
分类:
其他好文 时间:
2020-07-12 00:52:17
阅读次数:
76
一、什么是链表 线性表的链式存储又称之为单链表,他是通过内存中任意一块区域来存储数据元素的,为了让每一块的元素建立逻辑关系,我们把每一块的数据存储单元分为两个部分,第一个部分为数据部分,第二个部分为指向下一个节点的指针,所以在插入和删除的时候,链表不需要对元素大量的进行移动,只需修改指针即可。 二、 ...
分类:
其他好文 时间:
2020-07-11 19:02:59
阅读次数:
45
1. 简单介绍 链表,即线性表的链式存储结构,链表使用一组任意的存储单元来存储数据元素。如果某两个数据元素在逻辑位置上相邻,那么他们在物理位置上不一定相邻。如图: 但是这样看着太乱了,为了看着舒服,表示方便,我们把这张图改成: 2. 单向链表的结构和特点 在上图中,我们可以看出一个链表包含了存储的数 ...
分类:
其他好文 时间:
2020-07-05 15:36:49
阅读次数:
50
单链表练习 介绍 链表以结点的方式储存,链式存储 每个结点包含data域,next域 链表的结点可以是连续的,也可以是不连续的 链表分类 带头结点的链表 没有头结点的链表 应用实例 题目:使用带head头的单冋链表实现ˉ水浒英雄排行榜管理完成对英雄人物的増删改査操作。 功能需求 在添加英雄时,直接添 ...
分类:
其他好文 时间:
2020-07-02 23:18:53
阅读次数:
52
1. 集群管理,元数据同步; 2. 大量的心跳广播信息可能导致心跳风暴问题,可考虑链式资源进行心跳; 3. 存储资源的均衡性问题; 4. 节点异常时的容错处理; 5. 单点故障和性能瓶颈; 6. 网络延时可能导致局部的大量优化化为乌有; 7.资源的故障域隔离,避免节点或者机架故障,导致数据丢失; 8 ...
分类:
其他好文 时间:
2020-07-01 09:27:54
阅读次数:
54
一. 队列 1.队列定义:只允许在表的一端进行插入,表的另一端进行删除操作的线性表。 2.循环队列:把存储队列的顺序队列在逻辑上视为一个环。 循环队列状态: 初始时:Q.front=Q.rear=0 front指针移动:Q.front=(Q.front+1)%MaxSize rear指针移动:Q.r ...
分类:
编程语言 时间:
2020-07-01 00:11:18
阅读次数:
88
码字不易,喜欢请点赞!!!1.数据结构基础2.线性表(顺序存储、链式存储) 元素之间是有顺序的:第一个元素无前驱,最后一个元素无后继,其他元素都有前驱和后继顺序存储结构:用一段地址连续的存储单元一次存储线性表的数据元素(存取时间复杂度为O(1),插入或删除时间复杂度为O(N),适合数据量不大并且存取 ...
分类:
编程语言 时间:
2020-06-30 12:41:35
阅读次数:
97