请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

查找问题的思路

老师,我自己对于查找问题的理解,主要方法是用顺序查找、二分查找、BST数和哈希表。

可是实际问题中,比如寻找数组中重复元素(n+1个整数,每个元素大小都在1~n之间),方法是一种二分查找的思路以及用到了查找链表环的思路。

因此,请问老师,是不是我做题不够呢?有没有遇到问题,就能有一种通用的解题思路呢?还请老师给一些学习建议。感激不尽!

正在回答

1回答

你总结的思路近乎已经是比较常规的查找思路了。但是查找问题这个范围本身就无限大,计算机领域的很多问题本质都是查找。搜索引擎是查找;手机输入一个名字看电话是查找;指纹匹配图像识别都可以叫查找(查找和给定指纹最像的人员信息;查找和给定图像最相似的图片信息)。所以,妄图掌握“查找问题”这么大一个领域的所有思路,近乎可以说可能是不现实的。如果你能将所有查找问题规约成一种可以使用某个“通用思路”高效解决的问题,我觉得其程度就算比不上物理学上的大一统问题,也能轻松拿到图灵奖,在计算机科学史上记上重重的一笔:)


随便再举几个更具体的其他查找的例子:

当我们想要查找字符串的时候,可以使用Trie;

当我们要处理的信息是区间信息的时候,可以使用线段树或者BIT(Fenwick Tree);

在一个字符串中寻找子串也是查找问题,可以牵扯出一大串字符串匹配算法;

等等等等。


妄图找到一种通用的思路解决所有问题,近乎是不可能的。如果真是这样的话,算法也太容易了。我的体会是,很多时候学习真的没有捷径。如果真有捷径的话,大家智商都很高,早就都成为大师了。怎么办?或许唯有多见,多想,多实践吧。学无止境:)


加油!

3 回复 有任何疑惑可以回复我~
  • 提问者 慕慕9414451 #1
    谢谢老师及时的指正。我会继续加油努力。谢谢老师
    回复 有任何疑惑可以回复我~ 2017-12-10 09:35:11
  • 提问者 慕慕9414451 #2
    非常感谢!
    回复 有任何疑惑可以回复我~ 2017-12-10 16:27:23
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号