数据结构、算法、计算机原理是编程和实践的根基,看似枯燥和基础,却具有最长久的生命力。

作为人类高质量程序员,写代码精髓就是领略数学之美

算法:

  • 排序算法:快速排序、归并排序、计数排序
  • 搜索算法:回溯、递归、剪枝
  • 图论:最短路径、最小生成树、网络流建模

.......

数据结构:

  • 数组和链表
  • 栈与队列
  • 树和图

.......

作为程序员的你,认为编程必须掌握哪些算法?快来分享你的见解吧!

内容要求

● 围绕算法,发表见解 50 字以上(需原创,禁止转载)

奖励

回答赞同数 TOP10 的用户将有机会获得精美定制小礼品一份

评选标准

  • 回答需符合活动中所提及的要求,符合社区规范
  • 请遵守社区规范,如有违规行为,一经发现即取消参与资格

评选结果 & 公示

腾讯云开发者社区小助手 9 月 10 日在获奖评论下通知答主,奖品将于30日内发放

更多精彩问答与定制好礼,尽请关注 【云+有奖问答专题】 \( ̄▽ ̄)/

腾讯云开发者社区腾讯云开发者社区

腾讯云 · 产品运营 (已认证)

修改于
依旧廖凯回答于

算法:

1、排序算法:快速排序、归并排序、计数排序

2、搜索算法:回溯、递归、剪枝

3、图论:最短路径、最小生成树、网络流建模

4、动态规划:背包问题、最长子序列、计数问题

5、基础技巧:分治、倍增、二分法、贪心算法

数据结构:

1、数组和链表

2、栈与队列

3、树和图

4、哈希表

5、大/小跟堆,可并堆

6、字符串:字典树、后缀树

回答过的其他问题

腾讯 99 公益日,技术如何改变公益未来?

在5G时代,会给公益发展趋势带来三个改变:一是公益的广度,传统的公益有了技术的支撑,参与范围会更广;二是基于5G的超快速度,公益会更高效;三是公益的深度会增加,以前做公益、做支援更容易被局限于时空。当然不管技术怎么改变,我们都是想让社会更美好,热爱公益的心和对待社会的温度是不变的。

5G技术也必将以人为本。在公益慈善领域无法解决的问题,比如留守儿童、医疗、文物保护等问题都会通过技术得到更好的解决。比如,互联网公益的发展就非常迅速,去年9月份,中华慈善日人人公益日节,实现了500万的捐赠人次。我们在活动设立之初,对捐赠人数规划才不到200万,这一个活动就把我们一年的捐赠人次二倍。在比如,我们一个保护熊猫栖息地的项目,让更多的人通过5G短视频观看到,那些常年奉献在大山的护林员的生活,像真人版的节目一样,也取得了很好的效果。

当然,另一方面,我们也不能完全依靠新技术。如果趣味性参与性不足,光靠技术产品也是难以实现。公益活动的成败取决于思想创新,文化创新,背后体现的是我们的公益文化自信和独立思想。

程序员如何维持对编程的热情?

一方面多上github,多实践新的开源项目。思考我能从这些开源项目中学到什么来改进自己的工作。新事物总能给人带来新的乐趣。另一方面定位问题,思考解决方案的过程在未解决问题以前总是无趣的。只有解决的瞬间才有最棒的成就感。长期做自己能力范围外的事容易有挫折感,比如思考数周没有方案的事。因此我们应该控制自己负责的能力范围之外的事的数量,认识并接受自己的极限(比如打dota的一个很重要的事,是能评估自己与对手的实力差距,不断杀比自己弱的人来强大自己,但你总挑战爱明显比自己强的人,那叫送人头)。最终将困难问题和简单问题调整到一个自己比较爽的比例,你得编程热情就能得到持续。

如果预算无上限,你会如何“钞能力”装机?

CPU AMD Ryzen ThreadRipper Pro 3995WX 主板 华硕ROG Dominus Extreme 内存 芝奇皇家戟 256GB(8×32GB)DDR4 3600...... 展开详请

程序员过节指南:如何用代码做一个月饼?

import turtle def goto(x,y): turtle.penup() turtle.goto(x,y) turtle.pendown() def yuan...... 展开详请

关于作者

依旧廖凯

小米科技有限责任公司

扫码关注腾讯云开发者

领取腾讯云代金券