算法行舟
Stdboy
一次一次地练习,一点一点地积攒,聚沙成塔,集腋成裘
展开
-
Python3.8 快速排序代码示例
快速排序是一种常用的排序算法,比选择排序快得多。例如,C语言标准库中的函数qsort 实现的就是快速排序。快速排序也使用了D&C。基本步骤:(1) 选择基准值。 (2) 将数组分成两个子数组:小于基准值的元素和大于基准值的元素。 (3) 对这两个子数组进行快速排序。Python版本:def quicksort(arr): if len(arr) <...原创 2020-02-13 09:32:18 · 197 阅读 · 0 评论 -
PTA1040 有几个PAT 一种解法演示
几个重点:1、首先采用在线的方法将读入的数据直接处理,而不是全部读入后再进行操作。2、针对大规模的数据,需要一个比较优化的算法,出现O(n2)要做好优化,否则最后两个检查点不通过。3、对于题目要做好充分理解,将抽象问题化为可以执行的算法。4、配合适当的图解和手动运算,可以充分模拟算法的运行情况,减少编码后的调试工作。演示:其中,P_arr存储每个A左侧的P的个数,下标...原创 2020-01-08 23:06:23 · 249 阅读 · 0 评论 -
PTA1025 反转链表篇 经验总结
话不多说,先上两篇代码:1、C语言版本#include "stdio.h"#include "stdlib.h"typedef struct NodeStruct { int num; int addr;} Node;int main(){ int i,j,head,N,K,addr; Node node,nodes[100000]; int arr[100000][...原创 2019-12-25 00:07:48 · 253 阅读 · 0 评论 -
PTA 1020 月饼 Go解法
package mainimport ( "fmt" "sort")type Moon struct { stock float64 totalPrice float64 unitPrice float64}type MoonSlice []Moonfunc (s MoonSlice) Len() int { return len(s) }func...原创 2019-12-18 13:03:43 · 206 阅读 · 0 评论 -
PTA1015 纯C语言解法
这里直接上答案,后面给出部分解析。#include "stdio.h"#include "stdlib.h"#define MAX_ARR 100000typedef struct Node{ int no; // including of 8 numbers int a; // moral score int b; // talent score int sum; // t...原创 2019-12-14 23:34:47 · 396 阅读 · 0 评论 -
由一道算法题总结单向链表经验——PTA1015总结
在解答PTA1015的时候,花费了较多的时间尝试了一下单向链表的创建和排序,结果是令人失望的,因为自身经验的不足,导致前期错误出现的非常多,这时候就体现出链表不方便的地方了——调试不友好。在花费一晚时间调试错误之后,又出现了众多奇怪的问题,诸如超时、答案错误等等,仔细观察了一下,对于小量数据,好像是没有错误,但是一旦面临大规模数据,就力不从心了,特此总结。下面我们从几个问题入手,对产生的问...原创 2019-12-18 08:08:15 · 213 阅读 · 0 评论