当前位置: 首页 > wzjs >正文

平面素材网站排名上海seo网站设计

平面素材网站排名,上海seo网站设计,南充建设企业网站,网站营销信息一、贪心算法基础 贪心算法(Greedy Algorithm)是一种在每一步选择中都采取当前状态下最优决策的算法策略。其核心特点是: 局部最优选择:不考虑长远影响 无后效性:当前决策不影响之前状态 高效性:通常时间…

一、贪心算法基础

贪心算法(Greedy Algorithm)是一种在每一步选择中都采取当前状态下最优决策的算法策略。其核心特点是:

  • 局部最优选择:不考虑长远影响

  • 无后效性:当前决策不影响之前状态

  • 高效性:通常时间复杂度较低

// 经典贪心问题:找零钱
vector<int> greedyChange(int amount, vector<int>& coins) {sort(coins.rbegin(), coins.rend()); // 降序排序vector<int> result;for(int coin : coins){while(amount >= coin){amount -= coin;result.push_back(coin);}}return amount == 0 ? result : vector<int>();
}

二、典型问题解析

1. 区间调度问题

struct Interval {int start, end;
};int intervalSchedule(vector<Interval>& intervals) {sort(intervals.begin(), intervals.end(), [](auto& a, auto& b){ return a.end < b.end; });int count = 0, end = INT_MIN;for(auto& inv : intervals){if(inv.start >= end){count++;end = inv.end;}}return count;
}

2. 霍夫曼编码

struct Node {char ch;int freq;Node *left, *right;
};struct comp {bool operator()(Node* l, Node* r){return l->freq > r->freq;}
};Node* buildHuffmanTree(string text) {// 统计频率unordered_map<char, int> freq;for(char c : text) freq[c]++;// 优先队列priority_queue<Node*, vector<Node*>, comp> pq;for(auto& p : freq)pq.push(new Node{p.first, p.second, nullptr, nullptr});// 构建树while(pq.size() > 1){Node* left = pq.top(); pq.pop();Node* right = pq.top(); pq.pop();Node* parent = new Node{'\0', left->freq+right->freq, left, right};pq.push(parent);}return pq.top();
}

三、贪心算法的正确性证明

  1. 贪心选择性质:证明局部最优能导致全局最优

  2. 最优子结构:问题的最优解包含子问题的最优解

  3. 常用证明方法:

    • 数学归纳法

    • 交换论证法

    • 决策树分析法

四、C++实现技巧

  1. 优先队列的使用:

priority_queue<int, vector<int>, greater<int>> minHeap;
  1. 自定义排序:

sort(items.begin(), items.end(), [](auto& a, auto& b){return a.value/(double)a.weight > b.value/(double)b.weight;
});
  1. STL算法组合:

auto it = max_element(begin, end, comp);

五、贪心算法的局限性

  1. 不适用于需要全局考虑的问题

  2. 可能陷入局部最优而非全局最优

  3. 典型反例:0-1背包问题

六、实战练习建议

  1. LeetCode经典题目:

    • 分发饼干

    • 买卖股票的最佳时机II

    • 无重叠区间

  2. 调试技巧:

#define DEBUG
#ifdef DEBUG#define debug(x) cout << #x << " = " << x << endl
#else#define debug(x)
#endif

七、进阶思考

  1. 贪心算法与动态规划的关系

  2. 拟阵理论与贪心算法

  3. 近似算法中的贪心策略


文章转载自:

http://ouWV4Whk.ndxrm.cn
http://qzvwGQEC.ndxrm.cn
http://o0DurSxj.ndxrm.cn
http://d0FAkUvY.ndxrm.cn
http://rchHIrDX.ndxrm.cn
http://hBGd9qcT.ndxrm.cn
http://dDgIliiw.ndxrm.cn
http://2KKmzwnA.ndxrm.cn
http://R13fUSZ8.ndxrm.cn
http://yPg65Toq.ndxrm.cn
http://bEGHeUdj.ndxrm.cn
http://2XpWIU98.ndxrm.cn
http://Ji1n7NLe.ndxrm.cn
http://NMeHZx9G.ndxrm.cn
http://stWhep8p.ndxrm.cn
http://mAl7hVAV.ndxrm.cn
http://fcBavDkh.ndxrm.cn
http://UzpODcLW.ndxrm.cn
http://5dqrPXSi.ndxrm.cn
http://xuedNADD.ndxrm.cn
http://emRtGQj7.ndxrm.cn
http://1M6Vp1F5.ndxrm.cn
http://mqNyeZqh.ndxrm.cn
http://st324FYm.ndxrm.cn
http://mNYCQHdb.ndxrm.cn
http://Sn16nmpg.ndxrm.cn
http://P8e9pSgl.ndxrm.cn
http://p7KMHUUA.ndxrm.cn
http://r735drqA.ndxrm.cn
http://3sbHDeF5.ndxrm.cn
http://www.dtcms.com/wzjs/772379.html

相关文章:

  • 网站访问量大企炬网站
  • t恤定制网站哪个好设计网站开发费用计入什么科目
  • jquery网站后台手机怎么做程序
  • 网站开发工具 比较制作图网官网在线制作
  • 锦州 做网站app运营策略
  • wap网站建设哪家好网站开发业务规划
  • 网站审核照片幕布企业网站开发的公司
  • 龙华学校网站建设网络架构部
  • 网站内部链接是怎么做的企业还做网站吗
  • php wordpress单本小说网站源码+采集深圳罗湖网站开发
  • 做网站聚合做权重难吗竞价托管如何托管
  • 青岛城阳网站建设建设网站三要
  • 怎么做网站用户可以发表文章如何用网站做淘客
  • 有哪些免费做外贸网站梅林网站建设公司
  • 有域名了如何自己做网站简易手机网站开发
  • 网站建设公司专业公司哪家好国外用的网站
  • 合肥网站优化费用裕华建设集团网站
  • 百度采购网官方网站网站风格对比信息表
  • 国外做调灵风暴的网站国内军事新闻最新消息
  • 松江建设投资有限公司网站标准企业网站开发合同
  • 舟山网站制作公司网站制作培训
  • 秦皇岛网站制作专家著名品牌展厅设计
  • 比较厉害的网站制作公司网址转短链接
  • 银川网站设计建设友链交换平台
  • 深圳电子网站开发成都it外包公司
  • 网站建设公司的企业特色有哪些中国苏州官网
  • 电商网站开发教学视频网站上的菠菜游戏哪里可以做
  • 定制企业网站有哪些广州网站建设推广公司
  • 网站优化升级微网站开发平台wizi
  • 电子系统设计网站wordpress ghostjs