自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 快速排序模板(C语言)

代码模板:void swap(int* a, int* b){ int tmp = *a; *a = *b; *b = tmp;}//以中间点为pivotvoid quick_sort_mid(int* arr, int l, int r){ if(l >= r) return; int i = l - 1, j = r + 1, x = arr[l + r >> 1]; while(i < j){ while

2020-12-25 12:22:57 279

原创 并查集(C语言)

并查集​ 并查集是一种树形的数据结构,顾名思义,它用于处理一些不相交集的合并和查询问题。它支持两种操作:1.查找(Find):确定某个元素处于哪个集合2.合并(Union):将两个子集合并成一个集合在一些有N个元素的集合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中。一般我们用一个数组来表示全部集合,数组有两种初始化的方式,第一种,数组每个元素都设置为-1,理由是数组下标都是非负整数,用负数可以标记一

2020-12-19 20:49:32 1150 1

原创 归并排序(C语言)

归并排序​ 归并排序是建立在归并操作上的一种有效,稳定的排序算法,该算法是采用分治法的一个非常典型的应用。归并排序的最优时间复杂度、平均时间复杂度和最坏时间复杂度均为O(nlogn),空间复杂度为O(n)。归并排序分为三个步骤:1.将数列划分为两部分2.递归地分别对两个子序列进行归并排序3.合并两个子序列将已有的子序列合并,得到完全有序的序列,即先使每个子序列有序,再使子序列段间有。其本质是由小规模有序到大规模有序的自底向上的过程。核心算法是两个有序序列的排序,即使用双指针对两个数组进行扫描,以线

2020-12-18 19:05:58 392

原创 线段树(C语言)

线段树线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶子结点。使用线段树可以快速以O(logN)的时间复杂度实现单点、区间的修改和查询,综合性能较好。对于线段树中的每一个非叶子结点[i, j],它的左儿子表示的区间为[i, (i + j)/2],右儿子表示的区间为[(i + j)/2 + 1, j],因此线段树是平衡二叉树。以数组arr = [1, 2, 3, 5, 7]为例,我们可以画出以下的线段树,每个结点的值表示对应区间的元素和,叶子结点表示单

2020-12-14 22:06:22 759

原创 差分、前缀和数组(C语言)

差分、前缀和数组差分数组作用:加快区间修改的速度一般要将数组的[i, j]区间元素都加上或减去一个数,需要从i遍历到j,但是使用差分数组,只需要修改差分数组上两个位置的值即可int nums[6] = {2, 3, 5, 8, 4, 9}; //待操作的数组int diff[6];diff[0] = 0;for(int i = 1; i < 6; i++){ diff[i] = nums[i] - nums[i - 1]; }//diff[6] = {0, 1, 2, 3,

2020-12-13 22:12:02 1254

原创 哈希表(C语言)

哈希表​ 哈希表又称散列表,是一种是“key-value"形式存储的数据结构。即将key映射到表上的一个单元,从而实现快速查找等操作,这个映射操作就叫散列,具体通过散列函数实现相应的映射。根据key的形式,散列的形式多种多样,这里以正整数为例,常用的散列函数为:Hash(Key)=Key%TableSizeHash(Key) = Key \% TableSizeHash(Key)=Key%TableSize​ TableSize为表长,一般情况下,我们希望一个元素能唯一对应表上的一个单元,但是这是

2020-12-13 21:15:56 3076

原创 基数排序(C语言)

基数排序基数排序(Radix sort)是一种非比较型的排序算法,最早用于解决卡片排序的问题。它的工作原理是将待排序的元素拆分为k个关键字,其中k为最大值的位数,从低位开始进行稳定排序。(注意:数列中的元素都是非负整数)基数排序是一种稳定的排序算法。代码实现:#include <stdio.h>#include <string.h>#include <stdlib.h>typedef unsigned long long ULL;//数据预处理,保证

2020-12-12 20:11:47 1817

原创 Python手写数字识别MNIST数据集(PyTorch)

import numpy as npimport torchfrom torchvision import transformsfrom torchvision import datasetsfrom torch.utils.data import DataLoaderimport torch.nn.functional as Fimport torch.optim as optim#MNIST数据集中包含59968张数字图片,大小为(28 * 28),通道数为1 59968 = 64 *

2020-12-02 20:09:51 426

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除