首先java中也是有Pair类可以直接用的。在图或者相关问题中可以派上用场。 其次就是Dijkstra算法。这个算法我是看过,而且今天周赛这题(leetc5211)是挺容易想到该算法,但是我以前只看过没写过,导致我上午打开浏览器现学,结果算法学会了之后发现用邻接矩阵超内存限制,然后只好现学邻接表,学 ...
分类:
其他好文 时间:
2020-07-12 18:43:35
阅读次数:
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
进程 进程的定义 为了使参与并发执行的每个程序(含数据)都能独立运行,在操作系统中必须为之配置一个专门的数据结构,称为进程控制块(Process Control block,PCB)。系统利用PCB来描述进程的基本情况和活动过程,进而控制和管理进程。这样,由程序段、相关的数据段和PCB三部分便构成了 ...
分类:
编程语言 时间:
2020-07-12 16:49:21
阅读次数:
83
一、插入排序 直接插入排序: 一 一比对 折半插入排序:在已经拍好的序列中插入,适合初始记录无序、n较大的情况 直接插入排序代码实现 1 void InsertSort(SqList &L){ 2 //对顺序表L做直接插入排序 3 for(i=2;i<=L.length;++i) 4 if(L.r[ ...
分类:
其他好文 时间:
2020-07-12 16:45:08
阅读次数:
60
一.本地方法 1.什么是Native Method 一个Native Method就是一个Java调用非Java代码的接口。一个Native Method是这样一个Java方法,该方法的实现由非Java语言实现。 "A native method is a Java method whose imp ...
分类:
其他好文 时间:
2020-07-12 15:02:17
阅读次数:
75
一、本章小结 1.根据时间复杂度的不同,常见的算法可以分为3大类。 1).O(n²) 的排序算法 冒泡排序 简单选择排序 插入排序:直接插入,折半插入 2).O(n log n) 的排序算法 希尔排序 归并排序 快速排序 堆排序 2.根据是否受到待排序对象初始排列影响,可分为 1)受到待排序对象的初 ...
分类:
其他好文 时间:
2020-07-12 14:30:19
阅读次数:
62
Redis一共支持5种数据结构,hash是其中的一种,在hash扩容的时候采用的是渐进式rehash的方式。要想深入理解渐进式rehash,首先要了解以下Redis中hash的数据结构。 #####哈希表节点 typedef struct dictEntry { void *key; // 键 un ...
分类:
其他好文 时间:
2020-07-12 13:53:43
阅读次数:
50
1 概述 2 待排序记录的存储方法 3 排序算法的效率评价指标 4 时间效率 5 排序速度(比较次数与移动次数) 6 空间效率 7 占内存辅助空间的大小 8 稳定性 9 A和B的关键字相同,在排序之后先后顺序保持不变 10 11 内部排序 12 插入排序 13 直接插入排序 14 利用顺序查找 15 ...
分类:
其他好文 时间:
2020-07-12 12:12:05
阅读次数:
72
绪论 1.1 数据结构的基本概念 1.1.1 基本概念和术语 数据:是信息的载体,是描述事物客观属性的数、符号及所有能输入到计算机中并被计算机程序识别和处理的符号的集合 数据元素:是数据的基本单位,一个数据元素可由若干个数据项组成,数据项是构成数据元素的不可分割的最小单位 数据对象:数据对象是性质相 ...
分类:
其他好文 时间:
2020-07-12 01:03:01
阅读次数:
64