内部排序是指在排序期间数据元素全部存放在内存的排序。外部排序是指在排序期间全部元素的个数过多,不能同时存放在内存,必须根据排序过程的要求,不断在内存和外存之间移动的排序。本次主要介绍常见的内部排序算法。 1. 直接插入排序 直接插入排序的算法思想是把待排序序列a[n]中的n个元素看作是一个有序表和无 ...
分类:
编程语言 时间:
2021-07-19 16:39:46
阅读次数:
0
题目描述: 多字节数据求和,求无符号数Ai的累加和。Ai为单字节数,并按i(i=1,2,3,...,,n)顺序存放在RAM从60H开始的单元中,n放在R2中,求他们的和(双字节)高位放在R3,低位放在R4中。 算法思想: 向让低四位相加求和(ADD),如果有进位(CY=1),则对高四位用ADDC,并 ...
分类:
其他好文 时间:
2021-07-01 17:08:12
阅读次数:
0
算法思想 冒泡排序属于一种典型的交换排序。 交换排序顾名思义就是通过元素的两两比较,判断是否符合要求,如过不符合就交换位置来达到排序的目的。冒泡排序名字的由来就是因为在交换过程中,类似水冒泡,小(大)的元素经过不断的交换由水底慢慢的浮到水的顶端。 冒泡排序的思想就是利用的比较交换,利用循环将第 i ...
分类:
编程语言 时间:
2021-06-21 20:30:56
阅读次数:
0
代码源自该视频 算法思想:选择一个中心点,将比中心点小的移动到左边,反之移动到右边; 这时形成两个子序列,对子序列递归直至,每个序列只有一个元素为止 时间复杂度 最好的情况是O(nlogn) 最差的情况是O(n²) 特点 如果基本有序 则会变成冒泡排序,时间复杂度为O(n²) package wha ...
分类:
编程语言 时间:
2021-06-11 18:23:48
阅读次数:
0
简介 递归的算法很巧妙. 算法思想: 判断递归终止条件 将链表划分成两部分 进行递归判断左右 将返回的两部分头结点, 进行有序合并 返回 头结点 code /** * Definition for singly-linked list. * struct ListNode { * int val; ...
分类:
编程语言 时间:
2021-06-10 17:32:08
阅读次数:
0
1. 基本思想: 每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。2. 排序过程:【示例】: 初始关键字 [49 38 65 97 76 13 27 49]第一趟排序后 13 [38 65 97 76 49 27 49]第二趟排序后 ...
分类:
编程语言 时间:
2021-06-03 18:07:47
阅读次数:
0
二分查找 一、引子 设想一个猜数字游戏,A从给定的区间中选择一个数字,B要猜这个数,如果B猜的数大了,就高速B猜大了,如果B猜的数小于A选择的数,就告诉B猜小了。理论上经过有限次的猜数后,B一定可以猜到这个数。 二、算法思想 通过上述猜数字游戏可以发现B每次猜数字时,其实都对给定的区间进行了压缩,最 ...
分类:
编程语言 时间:
2021-06-02 19:20:27
阅读次数:
0
LRU概述 LRU算法,即最近最少使用算法。其使用场景非常广泛,像我们日常用的手机的后台应用展示,软件的复制粘贴板等。 本文将基于算法思想手写一个具有LRU算法功能的Java工具类。 结构设计 在插入数据时,需要能快速判断是否已有相同数据。为实现该目的,可以使用hash表结构。 同时根据LRU的规则 ...
分类:
其他好文 时间:
2021-05-24 06:07:20
阅读次数:
0
动态规划(英语:Dynamic programming,简称 DP)是一种在数学、管理科学、计算机科学、经济学和生物信息学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。 动态规划不是某一种具体的算法,而是一种算法思想: 若要解一个给定问题,我们需要解其不同部分(即子问题),再 ...
分类:
其他好文 时间:
2021-04-06 15:07:31
阅读次数:
0
n为节点数量,m为边数量 EK算法复杂度:O(n*m^2) dinic算法复杂度:O(n^2*m) EK算法思想就是先用bfs找到一条增广路(从源点到汇点有流量的路),然后用pre数组记录这条路径上每一个节点的上一个节点。之后利用pre数组完成对这条路上所有边流量的消减,以及增加答案。看代码就清楚了 ...
分类:
编程语言 时间:
2021-03-29 12:24:11
阅读次数:
0