数据结构与算法
勿忘∮心安
细节决定成败!!!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
基础大整数运算——模板代码
整体思路1、字符串读入2、倒序存入整数数组,使得低位对齐便于运算。注意:本代码每个位置只存一位数3、模拟竖式计算,注意进位、借位等操作4、反向输出#include<bits/stdc++.h>#define IOS ios::sync_with_stdio(false),cin.tie(NULL),cout.tie(NULL);using namespace std;typedef long long ll;typedef pair<int,int> pii;原创 2020-10-26 21:06:53 · 237 阅读 · 1 评论 -
二叉树四种遍历及已知二叉树两种遍历方式求另外一种
预备知识:转载已知中序和先序求后序:洛谷P1827输入样例:ABEDFCHGCBADEFGH 输出样例:AEFDBHGCAC代码:#include<bits/stdc++.h>using namespace std;const int maxn=1e5;char a[maxn],b[maxn];void dfs(int al,int ar,int bl,int br)//根据前序的根不断分割中序{ if(al>ar || bl>br) retur原创 2020-05-12 18:44:02 · 399 阅读 · 0 评论 -
STL二分查找和手写二分
二分查找又称折半查找,是一种利用分治策略的较高效率的查找方案。STL模板库中是有相应的函数的:binary_search();lower_bound();upper_bound();自己实现:int BinarySearch(int arr[],int left,int right,int num){ int l=left,r=right-1,mid; while(l<...原创 2020-04-14 19:00:11 · 300 阅读 · 0 评论 -
动态规划——01背包问题
问题描述: 给定 n 件物品,第 i 件的物品重量是 w[i] ,价值是 v[i],求在背包承重为 m 时能存放物品的最大总价值。(每个物品仅有一件)。问题分析:贪心 对于该问题,我们的第一想法可能会是贪心,先拿价值大的物品。但是这里有重量的影响,贪心是有后效的(即前面的贪心操作会影响后面的操作),具体什么意思呢?比如给定3件物品,分别具有重量和价值两个属性,【5,4】,【2,3】,...原创 2020-03-31 14:23:51 · 399 阅读 · 0 评论 -
简单排序——冒泡、选择、插入
排序算法简介 排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。排序分内部排序和外部排序,若整个排序过程不需要访问外存便能完成,则称此类排序问题为内部排序。反之,若参加排序的记录数量很大,整个序列的排序过程不可能在内存中完成,则称此类排序问题为外部排序。(by百度百科) 一个排序算法是指一种能将一串记录序列按照某种特定的方式进行调整的一种方法。...原创 2020-03-18 13:45:43 · 195 阅读 · 0 评论 -
枚举算法——绳子切割
问题描述: 有n条绳子,它们的长度为Li(Li<=1000),如果从它们中切割出k条长度相同的绳子的话,这k条绳子每条最长能有多长,答案保留到小数点后两位。输入描述:第一行输入两个整数n,k。表示有n条绳子和要切割出k条长度相同的绳子。第二行输入n个数表示每条绳子的长度。输出描述:输出一个数,即k条绳子最长能有多长。保留小数点后两位。输入:4 118.02 7.43 ...原创 2020-03-13 23:30:30 · 337 阅读 · 2 评论 -
枚举算法——数组配对
问题描述: 给定一个长度为n的数组arr和一个正整数k,问从数组中任选两个数使其和是k的倍数有多少种选法。注:对于数组a1=1,a2=2,a3=3来说,(a1,a2)和(a2,a1)是同一种选法,(a1,a2)和(a1,a3)是不同的选法。输入: 第一行有两个正整数n和k,n<=1000000,k<=1000第二行有n个正整数,每个数的大小不超过1E9。输出: 选出一对数使...原创 2020-03-11 20:20:46 · 1381 阅读 · 3 评论
分享