0. PTA得分截图 1. 本周学习总结 1.1 总结线性表内容 1.顺序表结构体定义 2.顺序表插入 3.顺序表删除 4.链表结构体定义 5.头插法建链表 6.尾插法建链表 7.链表插入 8.链表删除 10.有序单链表数据删除 11.有序表合并(二路归并算法) 12.循环链表特点 13.双链表结构 ...
分类:
其他好文 时间:
2020-03-08 13:57:32
阅读次数:
64
```javaimport java.util.Scanner;import java.io.BufferedInputStream;class Main{ static int N = (int) 1e5 + 10,len; static int[] q = new int[N],temp = n... ...
分类:
编程语言 时间:
2020-03-07 09:53:15
阅读次数:
76
判断是否是插入排序的部分与 1035 插入与归并一样。 本题主要考察 堆排序的实现。 首先,把所有双亲结点进行向下调整; 然后,重复 n-1 次操作,即 把堆顶元素与待排序区的最后一个元素交换并对堆顶元素向下调整。 1 #include<iostream> 2 #include<algorithm> ...
分类:
其他好文 时间:
2020-03-05 13:11:47
阅读次数:
66
题目链接:数组中的逆序对 题意:在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 题解:因为这次的数据到了2*10^5。暴力肯定是不太行的。所以我 ...
分类:
编程语言 时间:
2020-03-04 22:53:45
阅读次数:
80
递归 递归的结束条件 问题本身可以拆分成更为简单的子问题,而子问题可以通过同样的方法解决。 问题需要有边界,否则会掉进递归死循环。 递归并不高效,大数量级的问题要慎用,你可能永远等不到答案。 1.利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。 def read_char(string ...
分类:
其他好文 时间:
2020-03-03 00:46:30
阅读次数:
70
看题就发蒙了,在题目给定的复杂度情况下,使用归并排序进行处理。 题中的链表处理,要学会断开链表,即一个链表断成两块,如何设置断点,分成两个链表的处理方法 1 /** 2 * Definition for singly-linked list. 3 * struct ListNode { 4 * in ...
分类:
编程语言 时间:
2020-03-02 11:07:57
阅读次数:
77
十大排序算法分类、特点和关系 (1)冒泡排序(交换排序的一种) (2)选择排序 (3)插入排序 (4)归并排序(采用了分治思想,额外的空间复杂度O(N),容易记错,最后合并大数组的时候需要开辟一个长度为N的数组) https://blog.csdn.net/u010452388/article/de ...
分类:
编程语言 时间:
2020-03-02 01:05:29
阅读次数:
83
由于木块可以由一些木块的消除,使两边相同颜色的合并 所以我们设定一个归并方式,即每个区间记录一下右边的延展性。 (等于左边找右边) 设 $f[i][j][k]$ 为$[i, j]$ 区间,右侧有 $k$ 个颜色 $= a[j]$ 的。 考虑两种转移方式。 第一种操作:直接搞掉右边的。 设 $i in ...
题目: 给定一个长度为n的整数数列,请你计算数列中的逆序对的数量。 逆序对的定义如下:对于数列的第 i 个和第 j 个元素,如果满足 i < j 且 a[i] > a[j],则其为一个逆序对;否则不是。 输入格式 第一行包含整数n,表示数列的长度。 第二行包含 n 个整数,表示整个数列。 输出格式 ...
分类:
编程语言 时间:
2020-02-28 20:51:45
阅读次数:
65
总排序趟数与初始状态无关的有:(除了快速排序和优化的冒泡,其他都是) 算法复杂度与初始状态无关的有:堆排序、归并排序、选择排序、基数排序。 元素总比较次数与初始状态无关的有:选择排序、基数排序。 元素总移动次数与初始状态无关的有:归并排序、基数排序。 快速排序的最坏情形是数组为正序或逆序,如果pos ...
分类:
其他好文 时间:
2020-02-27 16:17:30
阅读次数:
69