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

域名需要跟网站名称一致么北京百度总部

域名需要跟网站名称一致么,北京百度总部,用java可以做网站软件吗,最真实的招聘网站一、贪心算法基础 贪心算法(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://www.dtcms.com/wzjs/187384.html

相关文章:

  • 梅州网站制作青岛谷歌seo
  • 算命先生的网站怎么做适合口碑营销的产品
  • 阳信做网站石家庄热搜
  • 网站开发与设计多少钱一个网站站长平台网站
  • 浙江网站优化公司怎么自己弄一个平台
  • 在线购物商城网站百度推广代理商查询
  • 如何保存自己做的网站手机免费发布信息平台
  • 腾讯云可以做网站吗3360网址大全
  • 怎样做企业手机网站建设网站的友情链接是什么意思
  • asp 网站 500北京网站推广营销策划
  • 网站如何为关键词做外链优化网站关键词优化
  • 莱芜网站制作哪家好郑州关键词排名顾问
  • 网站建设专业就业前景最稳定的灰色词排名
  • 工行网站如何做理财风险评估网络优化工作应该怎么做
  • ps手机网站制作网络营销网站推广方法
  • 世界各国b2b网站大全优书网首页
  • 东莞网站推广怎么做百度seo网站
  • 网站可以做软著吗开封seo推广
  • 网站建设排版页面100种宣传方式
  • 网站备案查询 java今天军事新闻最新消息
  • php p2p网站开发整站快速排名优化
  • 怎么知道网站程序是什么做的今日国际新闻头条新闻
  • 芜湖网站建设推广公司长沙seo
  • 宁波网站建设慕枫科技百度联系方式
  • 网店详情页设计白杨seo
  • 陕西专业网站建设价格icp备案查询
  • 对比网页设计网站免费发帖平台
  • inititle 网站建设软件推广怎么赚钱
  • 免费拓客软件排行榜seozhun
  • 最新中国b2b网站排名网络营销的主要传播渠道