程序员必备的算法有哪些?

Sarah-琦琦 2014-01-03 04:36:28
感觉算法挺重要的,仅从面试就能看出来。但是目前我的工作中真正用到的算法很少。我没看过算法导论,看过的程序员很多都说算法导论很难看下去。需要掌握那么深的算法知识吗?算法不该是数学家的事吗?求亲们解答。我想先掌握依稀必备的算法 基本的那种。是不是仅仅就只需要掌握数据结构里面的那几种排序算法?
...全文
772 23 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
choovin 2014-01-25
  • 打赏
  • 举报
回复
啊啊学习学习
SweetTimeRose 2014-01-06
  • 打赏
  • 举报
回复
学习学习
hzbooks 2014-01-06
  • 打赏
  • 举报
回复
引用 12 楼 a345485527 的回复:
算法导论难是因为里面有大量的数学证明,这学期教材就是这本书,有时候3,4页都是一个公式的证明,头都大了
请问哪所高校啊?
Sarah-琦琦 2014-01-06
  • 打赏
  • 举报
回复
引用 3 楼 zhao4zhong1 的回复:
String Manipulation These routines operate on null-terminated single-byte character, wide-character, and multibyte-character strings. Use the buffer-manipulation routines, described in Buffer Manipulation, to work with character arrays that do not end with a null character. String-Manipulation Routines Routine Use _mbscoll, _mbsicoll, _mbsncoll, _mbsnicoll Compare two multibyte-character strings using multibyte code page information (_mbsicoll and _mbsnicoll are case-insensitive) _mbsdec, _strdec, _wcsdec Move string pointer back one character _mbsinc, _strinc, _wcsinc Advance string pointer by one character _mbslen Get number of multibyte characters in multibyte-character string; dependent upon OEM code page _mbsnbcat Append, at most, first n bytes of one multibyte-character string to another _mbsnbcmp Compare first n bytes of two multibyte-character strings _mbsnbcnt Return number of multibyte-character bytes within supplied character count _mbsnbcpy Copy n bytes of string _mbsnbicmp Compare n bytes of two multibyte-character strings, ignoring case _mbsnbset Set first n bytes of multibyte-character string to specified character _mbsnccnt Return number of multibyte characters within supplied byte count _mbsnextc, _strnextc, _wcsnextc Find next character in string _mbsninc. _strninc, _wcsninc Advance string pointer by n characters _mbsspnp, _strspnp, _wcsspnp Return pointer to first character in given string that is not in another given string _mbstrlen Get number of multibyte characters in multibyte-character string; locale-dependent sprintf, _stprintf Write formatted data to a string strcat, wcscat, _mbscat Append one string to another strchr, wcschr, _mbschr Find first occurrence of specified character in string strcmp, wcscmp, _mbscmp Compare two strings strcoll, wcscoll, _stricoll, _wcsicoll, _strncoll, _wcsncoll, _strnicoll, _wcsnicoll Compare two strings using current locale code page information (_stricoll, _wcsicoll, _strnicoll, and _wcsnicoll are case-insensitive) strcpy, wcscpy, _mbscpy Copy one string to another strcspn, wcscspn, _mbscspn, Find first occurrence of character from specified character set in string _strdup, _wcsdup, _mbsdup Duplicate string strerror Map error number to message string _strerror Map user-defined error message to string strftime, wcsftime Format date-and-time string _stricmp, _wcsicmp, _mbsicmp Compare two strings without regard to case strlen, wcslen, _mbslen, _mbstrlen Find length of string _strlwr, _wcslwr, _mbslwr Convert string to lowercase strncat, wcsncat, _mbsncat Append characters of string strncmp, wcsncmp, _mbsncmp Compare characters of two strings strncpy, wcsncpy, _mbsncpy Copy characters of one string to another _strnicmp, _wcsnicmp, _mbsnicmp Compare characters of two strings without regard to case _strnset, _wcsnset, _mbsnset Set first n characters of string to specified character strpbrk, wcspbrk, _mbspbrk Find first occurrence of character from one string in another string strrchr, wcsrchr,_mbsrchr Find last occurrence of given character in string _strrev, _wcsrev,_mbsrev Reverse string _strset, _wcsset, _mbsset Set all characters of string to specified character strspn, wcsspn, _mbsspn Find first substring from one string in another string strstr, wcsstr, _mbsstr Find first occurrence of specified string in another string strtok, wcstok, _mbstok Find next token in string _strupr, _wcsupr, _mbsupr Convert string to uppercase strxfrm, wcsxfrm Transform string into collated form based on locale-specific information vsprintf, _vstprint Write formatted output using a pointer to a list of arguments 肯定有人说这些不是算法,是字符串处理函数。但我认为这些就是最常用的“算法”。
惭愧 我第一眼看到就是那么认为的 我会好好去了解下这些处理函数的 谢谢
JPF1024 2014-01-05
  • 打赏
  • 举报
回复
引用 1 楼 derekrose 的回复:
如果非要说 那就是排序吧
学习学习
  • 打赏
  • 举报
回复
数据结构上的算法是基础吧,如果还想深入一点,那就得学点数学的东西。
qq120848369 2014-01-05
  • 打赏
  • 举报
回复
看懂算法导论真不难,关键是心静。 常用数据结构有哈希,平衡树(跳表),数组,链表,堆。 常用算法:排序,二分。 只要你不是做太专业的东西(游戏AI)不会用到多么复杂的算法,绝大多数问题都是依赖数据结构的,
天师猫神 2014-01-05
  • 打赏
  • 举报
回复
学习学习 学习学习
Adol1111 2014-01-04
  • 打赏
  • 举报
回复
现在有那么多现成的算法,谁还会自己造轮子?不要说自己没用过算法,库函数里都封装好了,应该说无时无刻不在用算法,只是你不知道具体是什么算法罢了。对于应用来说,关键不是去写出多么快的算法,而是如何去选择需要的容器和算法。不会排个序都要用个快排吧!!
Sarah-琦琦 2014-01-04
  • 打赏
  • 举报
回复
引用 8 楼 truelance 的回复:
你写的程序实时性要求高不高? 处理的数据量大不大? 是单独的项目还是批量的产品(即你的程序会同时在大量地方同时运行)? 是否有成本和功耗要求? 如果这些要求都没有, 那确实算法没什么用.
我感觉我几乎都没用到算法 以前学过的算法都忘记了 快 所以 才打算拿出来补一下 但是 也希望 以后工作中能用上
梦幻与未来 2014-01-04
  • 打赏
  • 举报
回复
容器用的比较多。解决具体的问题再研究相应的算法吧。
熊熊大叔 2014-01-04
  • 打赏
  • 举报
回复
你写的程序实时性要求高不高? 处理的数据量大不大? 是单独的项目还是批量的产品(即你的程序会同时在大量地方同时运行)? 是否有成本和功耗要求? 如果这些要求都没有, 那确实算法没什么用.
Falleyes 2014-01-04
  • 打赏
  • 举报
回复
算法导论主要在于数学和逻辑,楼主还是踏下心来好好研究吧。
碼上道 2014-01-04
  • 打赏
  • 举报
回复
引用 3 楼 zhao4zhong1 的回复:
String Manipulation These routines operate on null-terminated single-byte character, wide-character, and multibyte-character strings. Use the buffer-manipulation routines, described in Buffer Manipulation, to work with character arrays that do not end with a null character. String-Manipulation Routines Routine Use _mbscoll, _mbsicoll, _mbsncoll, _mbsnicoll Compare two multibyte-character strings using multibyte code page information (_mbsicoll and _mbsnicoll are case-insensitive) _mbsdec, _strdec, _wcsdec Move string pointer back one character _mbsinc, _strinc, _wcsinc Advance string pointer by one character _mbslen Get number of multibyte characters in multibyte-character string; dependent upon OEM code page _mbsnbcat Append, at most, first n bytes of one multibyte-character string to another _mbsnbcmp Compare first n bytes of two multibyte-character strings _mbsnbcnt Return number of multibyte-character bytes within supplied character count _mbsnbcpy Copy n bytes of string _mbsnbicmp Compare n bytes of two multibyte-character strings, ignoring case _mbsnbset Set first n bytes of multibyte-character string to specified character _mbsnccnt Return number of multibyte characters within supplied byte count _mbsnextc, _strnextc, _wcsnextc Find next character in string _mbsninc. _strninc, _wcsninc Advance string pointer by n characters _mbsspnp, _strspnp, _wcsspnp Return pointer to first character in given string that is not in another given string _mbstrlen Get number of multibyte characters in multibyte-character string; locale-dependent sprintf, _stprintf Write formatted data to a string strcat, wcscat, _mbscat Append one string to another strchr, wcschr, _mbschr Find first occurrence of specified character in string strcmp, wcscmp, _mbscmp Compare two strings strcoll, wcscoll, _stricoll, _wcsicoll, _strncoll, _wcsncoll, _strnicoll, _wcsnicoll Compare two strings using current locale code page information (_stricoll, _wcsicoll, _strnicoll, and _wcsnicoll are case-insensitive) strcpy, wcscpy, _mbscpy Copy one string to another strcspn, wcscspn, _mbscspn, Find first occurrence of character from specified character set in string _strdup, _wcsdup, _mbsdup Duplicate string strerror Map error number to message string _strerror Map user-defined error message to string strftime, wcsftime Format date-and-time string _stricmp, _wcsicmp, _mbsicmp Compare two strings without regard to case strlen, wcslen, _mbslen, _mbstrlen Find length of string _strlwr, _wcslwr, _mbslwr Convert string to lowercase strncat, wcsncat, _mbsncat Append characters of string strncmp, wcsncmp, _mbsncmp Compare characters of two strings strncpy, wcsncpy, _mbsncpy Copy characters of one string to another _strnicmp, _wcsnicmp, _mbsnicmp Compare characters of two strings without regard to case _strnset, _wcsnset, _mbsnset Set first n characters of string to specified character strpbrk, wcspbrk, _mbspbrk Find first occurrence of character from one string in another string strrchr, wcsrchr,_mbsrchr Find last occurrence of given character in string _strrev, _wcsrev,_mbsrev Reverse string _strset, _wcsset, _mbsset Set all characters of string to specified character strspn, wcsspn, _mbsspn Find first substring from one string in another string strstr, wcsstr, _mbsstr Find first occurrence of specified string in another string strtok, wcstok, _mbstok Find next token in string _strupr, _wcsupr, _mbsupr Convert string to uppercase strxfrm, wcsxfrm Transform string into collated form based on locale-specific information vsprintf, _vstprint Write formatted output using a pointer to a list of arguments 肯定有人说这些不是算法,是字符串处理函数。但我认为这些就是最常用的“算法”。
+1
「已注销」 2014-01-04
  • 打赏
  • 举报
回复
图在地图,公交车站软件中应该是用到的
Pump天天学习 2014-01-04
  • 打赏
  • 举报
回复
算法导论难是因为里面有大量的数学证明,这学期教材就是这本书,有时候3,4页都是一个公式的证明,头都大了
一起来玩玩呗 2014-01-04
  • 打赏
  • 举报
回复
真正理解了算法就是即使没有用到算法的地方也能用到算法的理念和思想
ForestDB 2014-01-03
  • 打赏
  • 举报
回复
什么叫理解呢? 比如线性结构,基于数组的实现和基于链表的实现,各有什么特点,适合什么场景? 又如set/map这样的结构,基于hash和tree的实现有什么优缺点? 至于图,其实就很少用到了。
ForestDB 2014-01-03
  • 打赏
  • 举报
回复
个人心得: 其实我的算法也不好,一个快排一个二分查找都不能一次写对; 但我认为关键在于理解,真正理解后,就能选择正确的数据结构/算法,满足需求,同时没有太大的性能问题。 现有的轮子很多,表现也不错,只要能理解核心,选对正确的轮子就能事半功倍。
hzbooks 2014-01-03
  • 打赏
  • 举报
回复
与其在这里发感慨,不如塌下心来、默默地翻 算法导论
加载更多回复(3)

65,187

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧