搜索
首页系统教程LINUX学算法干嘛?

学算法干嘛?

Apr 12, 2024 am 09:16 AM
linuxc语言c++linux教程红帽linux系统linux命令linux认证红帽linuxlinux视频

学算法干嘛?

有好多次,我都问自己,学算法到底有什么用?

作为一名软件学院的学生,学过C语言,学过C ,学过数据结构,学过算法,在这几门涉及到编程的课程中,我感觉算法是用处最小的一个,当然,这里的用处小指的是在工作以后。在工作过程中大多数时候并不需要去设计算法,或者应用到算法导论上某个很牛叉的算法,更多的只是一种把一个模块完成,把两个模块整合,主要是设计模式和面向对象之类的观点在发挥着巨大作用,而算法要有也就是简单的数据结构,甚至完全不需要任何算法,我猜在JAVA那种更多的是模块搭建的过程中这种情况应该不少见。

周围有那种ACM的牛人,POJ上排名前十,但是到了工作中,他的这种算法技艺似乎对他的工作并没有什么帮助。他也就是每天用JAVA写点东西,然后测试改点BUG,完全涉及不到什么DP,什么贪心,什么图论。只要实现功能了,用什么都无所谓,这种思想应该存在。并不是每个人都能去微软亚研院这种对算法要求很高的研究机构,去一般公司只要会种语言,懂点技术,做过项目,基本就能满足条件了,至于面试的时候可能问几个数据结构题,根本不会让你现场写一个DP算法,或者拿一道ACM题让你说思路。研发团队都不怎么需要算法,至于测试团队就更不用说了。

那学算法到底有什么用?其实这个问题很像学数学到底有什么用一样。工作以后还有谁要会算一个积分呢,或者求个极限,甚至连解个一元二次方程组都罕见了。和一个已工作一年的学长聊天,他说到数据结构,设计模式,操作系统还有英语这些很重要,至于算法根本就没提,当然也不会提微积分了。

我觉得,如果按照数学给人思维,教人思考这种观念去想,算法也是如此,算法本质上来说也就是数学,比如组合数学里面就有很多算法,还有离散数学也是。很多时候,这些知识用不到,就算用到了也可以通过查书现看一番,然后过不了多久又被遗忘。成为一个一般的程序员并不需要学多少算法,只要那些立志成为优秀的程序员的人们才应该学点算法,无论是对自己的思维还是对自己能力的提升都会有好处。也许在一群程序员中每个人都会设计模式,都精通C /JAVA,但是如果你精通算法,那你肯定就能技高一筹,即使用不到,那也是你砝码,懂得比别人更多并不是什么坏事。

以上是学算法干嘛?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:Linux就该这么学。如有侵权,请联系admin@php.cn删除
抛物线:从Linux上的网站下载视频和音频抛物线:从Linux上的网站下载视频和音频May 12, 2025 am 09:42 AM

Parabolic:Linux系统上便捷的视频音频下载工具 Parabolic是一款用户友好的Linux视频音频下载工具,它作为yt-dlp的简易前端,支持众多网站,并允许用户下载多种格式的内容,包括mp4、webm、mp3、opus、flac和wav。 本文将引导您了解Parabolic的功能,并提供使用Flathub、Snap或直接克隆存储库进行安装的分步说明。 Parabolic的功能 Parabolic提供了一些增强用户体验的有用功能: 用户可以下载不同格式的视频,例如mp4和webm

Ardor:音乐制作和音频编辑的强大工具Ardor:音乐制作和音频编辑的强大工具May 12, 2025 am 09:34 AM

Ardor:一个强大的跨平台数字音频工作站(DAW) Ardor是一个免费的开源数字音频工作站(DAW),以其在Linux,MacOS,FreeBSD和Windows上的功能和易用性而闻名。虽然精致,但Ardor的直观

Linux和Windows之间的开发人员工具的可用性有何不同?Linux和Windows之间的开发人员工具的可用性有何不同?May 12, 2025 am 12:04 AM

Linuxoffersmoredevelopertools,especiallyopen-sourceandcommand-linebased,whileWindowshasimprovedwithWSLbutstilllagsinsomeareas.Linuxexcelsinopen-sourcetools,command-lineefficiency,andsystemoptimization,makingitidealfordevelopersfocusedontheseaspects.W

7个类似Windows的Linux发行版,您应该尝试7个类似Windows的Linux发行版,您应该尝试May 11, 2025 am 10:35 AM

本文探讨了提供类似Windows的桌面体验的最佳Linux发行版。 用户经常考虑从Windows(特别是从Windows 10(2015年7月29日发布)及其后继Windows 11(2021年10月5日)的转变)。

Linux的10个最佳开源安全防火墙Linux的10个最佳开源安全防火墙May 11, 2025 am 10:25 AM

作为一名拥有十年以上 Linux 管理经验的管理员,我的主要职责始终是 Linux 服务器的安全管理。防火墙在保护 Linux 系统和网络安全方面起着至关重要的作用。 它们就像内部和外部网络之间的安全卫士,根据一组预定义的规则控制和管理进出网络流量。这些防火墙规则允许合法连接并阻止未指定的连接。 如今,有许多开源防火墙应用程序可用,为您的需求选择合适的应用程序可能具有挑战性。在本文中,我们将探讨 2024 年可以帮助保护您的 Linux 服务器的十个最流行的开源防火墙。 Iptables /

7必须尝试X-Window(基于GUI)Linux命令 - 第2部分7必须尝试X-Window(基于GUI)Linux命令 - 第2部分May 11, 2025 am 10:01 AM

本文探讨了其他有价值的基于X的Linux命令和程序,并扩展了我们以前对基于GUI的Linux命令的报道。 Xwininfo:揭幕窗口详细信息 Xwininfo是提供全面信息的命令行实用程序

如何使用Linux中的NetData监视MySQL或Mariadb如何使用Linux中的NetData监视MySQL或MariadbMay 11, 2025 am 09:50 AM

Netdata:轻松监控Linux系统上MySQL数据库性能的利器 Netdata是一款免费开源的实时系统性能和健康监控应用程序,适用于Linux、FreeBSD和macOS等类Unix系统。它收集并可视化各种指标,让您实时监控系统运行情况。Netdata支持多种插件,可以监控当前系统状态、正在运行的应用程序和服务,例如MySQL数据库服务器等等。 本文将指导您如何在基于RHEL的发行版上使用Netdata监控MySQL数据库服务器的性能。 阅读完毕后,您将能够通过Netdata的Web界面,

如何使用Linux上的DIFF3命令比较和合并文件如何使用Linux上的DIFF3命令比较和合并文件May 11, 2025 am 09:49 AM

Linux diff3 命令:比较和合并三个文件的强大工具 diff3 命令是 Linux 中一个强大的工具,用于比较三个文件并显示它们的差异。这对于程序员和系统管理员来说非常有用,他们经常处理同一文件的多个版本,需要合并这些版本或识别不同版本之间的更改。 本文将介绍 diff3 命令的基本用法、常用选项以及一些示例,帮助您理解它在 Linux 中的工作原理。 什么是 diff3 命令? diff3 是一个逐行比较三个文件的工具,它识别差异并以易于理解的格式显示它们。 它可以用于: 查找三个文

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境