![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
LiveAndLearn322
这个作者很懒,什么都没留下…
展开
-
学习:图的存储(领接表和领接矩阵)
学习:图的存储(领接表和领接矩阵)#include <iostream>#include <cassert> #include <ctime>#include <cstdlib>#include <vector>using namespace std;//稀疏图 - 领接表class SparseGraph{private: int n,m;//顶点个数、边的2 bool directed;//是否为有向图 vector原创 2020-05-12 15:41:07 · 807 阅读 · 0 评论 -
学习:数组原地堆排序(从小到大排序)
学习:数组原地堆排序(从小到大排序)#include <iostream>#include <ctime>#include <cstdlib>using namespace std;template <class T>void shiftDown(T a[], int k, int n){ while( 2*k <= n) { int j=2*k; if(j+1 <= n && a[j+1] > a原创 2020-05-09 17:32:52 · 464 阅读 · 0 评论 -
学习:堆排序(大顶堆)
学习:堆排序(大顶堆)#include <iostream>#include <cassert>#include <ctime>#include <cstdlib>using namespace std;template <class T>class MaxHeap{ private: T *data; int count; int capacity; void shiftUp(int k) {原创 2020-05-09 16:49:13 · 128 阅读 · 0 评论 -
学习:三路快速排序
学习:三路快速排序#include <stdio.h>void swap(int *a, int *b){ int t=*a; *a=*b; *b=t;}//三路快排,a[l...lt-1]<pivot,a[lt...gt-1]=pivot,a[gt...r]>pivotvoid __quickSort(int a[], int l, int r){ int lt=l,gt=r+1,i=l+1,pivot=a[l]; if(l >= r) re原创 2020-05-08 18:06:12 · 168 阅读 · 0 评论 -
学习:快速排序(简单版)
学习:快速排序(简单版)此版本不适用于有大量重复值和数据基本有序的数据进行快速排序。#include <stdio.h>//交换void swap(int *a, int *b){ int t=*a; *a=*b; *b=t;}//划分数组:a[l...j-1]<pivot, a[j]==pivot, a[j+1...r]>=vint partition(int a[], int l, int r){ int i,j=l,pivot=a[l]; for(原创 2020-05-08 17:38:03 · 154 阅读 · 0 评论 -
学习:归并排序(MergeSort)
学习:归并排序(MergeSort)C语言版:#include <stdio.h>#include <stdlib.h>//自底向上合并void __merge(int a[], int l, int mid, int r){ int *temp,i,j,k; temp=(int*)malloc(sizeof(int)*(r-l+1)); for(i=l;...原创 2020-05-07 15:23:21 · 120 阅读 · 0 评论 -
PTA:7-2 一元多项式的乘法与加法运算(C语言实现)
PTA:7-2 一元多项式的乘法与加法运算(C语言实现)相似问题:甲级:1002 A+B for Polynomials添加链接描述甲级:1009 Product of Polynomials添加链接描述#include <stdio.h>int main(){ int i,j,k,a[1001]={0},add[1001]={0},mul[2001]={0},n,...原创 2020-04-24 14:36:15 · 649 阅读 · 0 评论 -
PTA:7-1 最大子列和问题
PTA:7-1 最大子列和问题动态规划:#include <stdio.h>int max(int a,int b){ return a>b?a:b;}int main(){ int k,a[100000]={0},dp[100000]={0},i,m=0; scanf("%d",&k); for(i=0; i<k; i++) scan...原创 2020-04-23 17:24:14 · 232 阅读 · 0 评论