
数据结构
数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。
星之所系
万物皆奇迹,乃至黑暗与寂静……我已懂得,无论境遇,泰然处之。
——海伦·凯勒
展开
-
背包问题【贪心算法】
背包问题----区分于0/1背包问题 【问题】给定n个物品和一个容量为c的背包,物品 i 的重量是w[i],其价值为v[i], #include<iostream> using namespace std; struct goods{ int w; //重量 int v; //价值 }; int knapsack(int n,int c,struct goods gs[]){ //将物品放入背包,若物品放不下,则进行拆原创 2020-12-19 13:24:12 · 3877 阅读 · 3 评论 -
多机调度问题【贪心算法】
多机调度问题 设有n个独立的作业,由m台相同的机器进行加工处理。作业i所需的处理时间为t[i]。 任何作业可以在任何一台机器上面加工处理,但未完工之前不允许中断处理。任何作业不能拆分成更小的作业。 要求给出一种作业调度方案,使所给的n个作业在尽可能短的时间内由m台机器加工处理完成。 思路: 贪心求解多机调度问题的贪心策略是最长处理时间作业优先,即把处理时间最长的作业分配给最先空闲的机器,这样可以保证处理时间长的作业优先处理,从而在整体上获得尽可能短的处理时间。按照最长处理时间作业优先的贪心策略,当m&原创 2020-11-28 14:44:47 · 7466 阅读 · 3 评论 -
用分治法(递归)求x的n次方
分治法: 当我们求解某些问题时,由于这些问题要处理的数据相当多,或求解过程相当复杂,使得直接求解法在时间上相当长,或者根本无法直接求出。对于这类问题,我们往往先把它分解成几个子问题,找到求出这几个子问题的解法后,再找到合适的方法,把它们组合成求整个问题的解法。如果这些子问题还较大,难以解决,可以再把它们分成几个更小的子问题,以此类推,直至可以直接求出解为止。这就是分治策略的基本思想。原创 2020-10-25 16:39:07 · 9059 阅读 · 1 评论 -
常用的排序算法(实时演示)
常用的排序算法 冒泡排序 选择排序 插入排序 希尔排序 快速排序 堆排序 归并排序 #include<iostream> using namespace std; class paixu { public: void swap(int &a,int &b);//交换 void output(int a[],int len); void bubblesort(int a[],int len);//冒泡排序 void selectsort(int原创 2020-10-13 16:27:01 · 550 阅读 · 0 评论