你是如何坚持读完《算法导论》这本书的?

算法导论第四版 算法导论第四版介绍 阅读详情

你是如何坚持读完《算法导论》这本书的?

《算法导论》不够猛,答者顺便补充 “你是如何坚持读完《计算机编程的艺术》这本书的?”

 

罗必成:

CLRS上的证明太烦人了,如果是以业界为目标(进BAT,进FLAG)进行算法的学习的话,我觉得大可不必;如果是以学界(发paper)为目标的话,里面一些引理的证明思路,算法的分析以及符号化的数学思想倒很有学习意义。去年Bin Wang老师的算法课上的作业我还留着呢,数学思维锻炼没锻炼到这不好说,但是LaTex的语法掌握程度绝对得到了提升。
如果看CLRS看不下去的话,题主不妨来试试看跟一个公开课试试。这里我又要来安利一下TsinghuaX的Data Structures • 数据结构了,绝对会让你对算法世界的了解更上一层楼的。主讲的Junhui Deng老师是答主在清华碰见的少有深谙教学之道的好老师,他的计算几何也要马上开课了,有兴趣可以报名试试。

 

 

 

 发布于 2015-08-07

 

孟蛋蛋:

推荐中文网易公开课:算法导论,使用的教材就是《算法导论》。

英文可以参加Coursera公开课  Algorithms,免费旁听,付费较昂贵,但可获得全部服务,如编程练习和证书。

如英文足够好,直接读英文原著最好。除此之外需提前准备课件和阅读材料,尽量把这门网络公开课程当作主业来认真对待,包括:

  • 需要预习每节课讲解的大概内容。
  • 观看上课视频过程中要与课件结合,不懂的地方要暂停思考。
  • 尝试独立完成 Problem Sets。
  • 每周总结,并尝试了解证明用到的数学公式。
  • 尝试解决书后习题进行复习。
不推荐作为第一本学习算法和数据结构的书籍,也不建议必须要求自己完全理解书中的数学证明。

编辑于 2018-03-11

 

青霄:

深夜欲眠眠未得,路过答一下题。

算法导论这本书,从初三到高二,自己断断续续的看了三年时间。对于算法导论,自己的阅读路径比较曲折艰难,这是当时自己只有中学基础的缘故。好在算法导论偏向于培养构造性的思维,解题、证明技巧是“算法的方式”而非“数学的方式”,因而得以勉强读了下来。不过平摊分析这样的部分就无能为力了,选择跳过。

  1. 循环不变式是算导最开端的内容,也是算法正确性证明最重要的钥匙。本质上,循环不变式是算法归纳证明的形式化。理解算导中每个算法循环不变式的证明过程,就是在理解算法的运行原理。
  2. 算导阅读不需要很深的知识储备(你看我这样的初中生也能勉强看)。在看高斯消元LUP分解的时候,我只是通过附录补习了一下矩阵的基本知识,然后就可以看前面的LUP分解算法了。理解算法的正确性是相对容易的,理解算法设计的精妙,反推算法设计的过程难之又难。
  3. 代码实现是最好的学习过程。因为竞赛的缘故我使用的是c,当然你也可以用python、java或者brainf**k(雾)。啃完二十多页的二项堆,并且敲出代码成功运行后,当时的我崩溃的发现还有三十多页的Fibonacci堆在后面等着我。为了记住Fibonacci堆的设计细节,我重复写了20多遍以至于闭着眼睛都能写出来,结果发现在竞赛中根本用不到,我们有好用又好写的Pairing heap。尽管如此,Fibonacci堆的证明简单而直观,算法设计有趣得很。
  4. 尝试修改优化算法导论上的代码。在编写线性规划单纯性的代码时,我发觉(n+m)*(n+m)的矩阵异常浪费,稍作思考发现可以改成n*m的矩阵加上几个附加向量信息;进一步,对全幺模的情况,可以使用稀疏矩阵常见的优化方法——链表替代行向量。几个优化过后,我终于可以在竞赛允许的时间、空间、编码量内写一个非多项式的线性规划单纯形算法了。
  5. 快速傅里叶变换也是个有趣的例子。我们都知道,快速傅里叶变换的计算是在复数域上的,而计算机中复数的数值精度会导致FFT在向量比较长的时候丢失信息。后来学过数论部分,发现复数域是可以由一些特定的模整数运算取代的,于是FFT就可以被用来加速高精度乘法。再后来,发觉这个方法叫做快速数论变换。
  6. 每一章的课后习题是检验本章内容是否掌握的准则。如果课后习题有二分之一以上无法独立解决,不妨重新阅读本章内容,给深入思考留些时间。结合习题阅读章节也是可行的。(我记得网上可以搜到部分章节的答案)
  7. 说到底,算法导论只是本基础教材,其中无论数据结构、图论,还是动态规划,贪心算法,都只是基础内容。如果看不懂,你需要重新看一下这一章;如果一直看不懂,你需要重新从头读这本书;如果你发觉能看懂了,说明通过培养,你习得了构造性的、“算法”的思考能力。

发布于 2015-08-08


来源: https://www.zhihu.com/question/27744730

书评《算法导论》 《算法导论》确实不适合初学者,尤其是不适合实践派。对于实践派,《数据结构与算法分析——C语言描述》、邓俊辉老师的《数据结构》,《算法》红皮书无疑都是很好的上手教程。我读《算法导论》,是把它当作一本数学书来读的,其中很多篇幅关注于算法设计、正确性证明、算法分析。... 阅读详情

相关推荐

《算法导论》课后习题全解指南

动态规划是解决多阶段决策过程优化问题的一种数学方法。它将复杂问题分解为更小的子问题,并存储子问题的解,避免重复计算,从而提高效率。在动态规划中,一个复杂的问题通常被分解为一系列子问题,并且子问题的解可以用来构造原问题的解。动态规划解决问题的基本思想是:将待求解的问题分解为若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。使用动态规划解决问题时,通常需要满足两个条件:最优子结构性质和重叠子问题性质。最优子结构意味着问题的最优解包含其子问题的最优解。

weixin_30356433的博客 805

弄懂《算法导论》,超过90%的人,也没什么好骄傲的...

有个小伙伴留言:沈老师,听说算法很重要,有人说弄懂了《算法导论》的90%,就超过了90%的程序员,是真的吗?最后一个高赞回答,直戳人心...主题:弄懂《算法导论》的 90%,就超越了 90%的程序员吗?https://www.zhihu.com/question/315201616【回答1:2900+赞同】何止90%,超越99%程序员问题都不大。本人加入腾讯,靠的就是算法+刷题。【回答2:2000...

shenjian58的博客 1118

VisionMaster Qt二次开发:图像获取、COM组件渲染与本地化存储实战

本文详细介绍了基于VisionMaster进行Qt二次开发的核心实战流程,涵盖环境搭建、方案加载、图像数据获取、COM组件渲染与本地化存储。重点解析了如何通过COM组件在Qt界面中实时显示图像,以及将VM图像数据转换为QImage并保存为本地文件的关键步骤与常见问题,为工业视觉项目开发提供稳定高效的解决方案。

weixin_29229261的博客 206

MIT算法圣经书《算法导论》第四版

来源:专知 本文为书籍介绍,建议阅读5分钟本书将严谨性和全面性融为一体,深入讨论各类算法,并着力使这些算法的设计和分析能为各个层次的读者接受。在有关算法的书中,有一些叙述非常严谨,但不够全面;另一些涉及了大量的题材,但又缺乏严谨性。《算法导论(原书第4版)/计算机科学丛书》将严谨性和全面性融为一体,深入讨论各类算法,并着力使这些算法的设计和分析能为各个层次的读者接受。全书...

数据派THU 8196

Apache Paimon-实时数据湖

Flink社区希望能够将 Flink 的 Streaming 实时计算能力和 Lakehouse 新架构优势进一步结合,推出新一代的 Streaming Lakehouse 技术,促进数据在数据湖上真正实时流动起来,并为用户提供实时离线一体化的开发体验。Flink 社区内部孵化了 Flink Table Store (简称 FTS )子项目,一个真正面向 Streaming 以及 Realtime的数据湖存储项目。

m0_57307642的博客 2193

ElementUI中的el-table解决宽度问题 - 根据内容自动撑开

在使用element-ui中,会发现表格组件el-table在未指定宽度情况下,会自动计算并给表格宽度赋值。但实际开发中,有时需要根据内容实际长度自动撑开显示,由内容的多少而决定表格的宽度,而不是默认宽度为100%。在默认情况下表格宽度为100%显示,并且列项未指定宽度情况下,剩余部分会平均分配宽度,本案例实际需求是由内容自动撑开显示。componentUpdated

觉醒法师的专栏 1万+

《算法导论》读书笔记

注意点: 通俗的讲的时候,就是个人的理解了,仅作参考。 作为一个Java程序员,有必要了解算法,如果有成为一个优秀程序员的想法,算法和数据结构只是基础。当然对于非CS专业,计算机网络,操作系统,编译原理等也是后面需要补充的基础知识点。 关于阅读《算法导论》的一些建议: 不必纠结于数学的证明,例如递归表达式的时间复杂度计算;把一些当前重要的知识点(比如从第一部分到动态规划、贪心算法,高级数据结构...

weixin_30852367的博客 924

Groq LPU架构解析:确定性线性处理器如何重塑AI推理

语言模型推理正从‘通用算力堆叠’转向‘确定性硬件定制’。LPU(Language Processing Unit)作为一种面向大模型推理的领域专用处理器,摒弃传统GPU的并行调度、多级缓存与动态执行范式,转而采用空间计算、静态编译与单线程线性流水线设计,实现纳秒级延迟可控性和92%+的HBM带宽利用率。其核心价值在于将模型结构、内存访问、时序路径全部在编译期固化,从而消除运行时抖动——这正是当前MLOps工程师应对A100显存碎片、vLLM调度开销与P99延迟不稳等痛点的关键技术路径。Groq 3 LPU与

weixin_30599521的博客 327

你是如何坚持读完《算法导论》这本书的?(帖子收集)

你是如何坚持读完《算法导论》这本书的? 《算法导论》不够猛,答者顺便补充 “你是如何坚持读完《计算机编程的艺术》这本书的?” 罗必成: CLRS上的证明太烦人了,如果是以业界为目标(进BAT,进FLAG)进行算法的学习的话,我觉得大可不必;如果是以学界(发paper)为目标的话,里面一些引理的证明思路,算法的分析以及符号化的数学思想倒很有学习意义。去年Bin Wang老师的算法课上的作...

digitalkee的博客 1028

Arcgis使用NDVI值遥感反演叶面积指数(LAI)

经验模型反演操作不难,主要是要多看文献,了解公式。本文中的公式我也不清楚是哪个作物的NDVI和LAI的关系(别人提供的),继续看文献整理吧。后续会在下面罗列更新一下主要公式。

所有专家都曾始于新手 8430

PCL 点云配准-ICP算法(精配准)

ICP(Iterative Closest Point)算法是一种常用的点云精细配准算法。它通过迭代计算将一组点云变换到另一组点云的最佳位置,最终实现精确的对齐。ICP算法在每次迭代中选择与目标点云最接近的点作为对应点,通过计算最小化源点云和目标点云之间的均方误差(MSE)来进行刚性变换(包括平移和旋转)。

纵马踏花向自由 1725

谈谈算法导论这本书

如果有时间,并且不为生计所忧愁,真想将这本书过几遍,无他,真的喜欢。 书中的伪代码很好,就喜欢这种讲思想的书。因为只喜欢看自己写的程序,哈哈哈。 https://blog.youkuaiyun.com/jcwKyl/article/details/4190068 长期以来,我对于是否要在博客上写非技术类的东西取决不下。同是从0开头学习技术,一定会遇到许多相似的问题,我把它们记下来,还会给人以帮助。但是非技术类的东西,写了也是给自己看的,在没有从“对小我的思考”转变为“对大我的思考”之前(看了刘未鹏的博客后的.

nyist_yangguang的博客 939

ios开发拒绝“玄学”Crash:从循环引用到脏内存,构建你的系统性排查思维模型

你申请了内存,写了数据,这块内存就是脏的。系统无法直接回收它,除非你显式释放,或者系统把它 swap 出去(但在 iOS 上,Compressed Memory 机制虽然能压缩,但不会像桌面系统那样频繁 swap 到磁盘,一旦压缩内存也撑不住,你也得挂)。所以,排查 OOM 的核心心法只有一条:不要问“哪里漏了”,要问“每一刻,留在这个页面上的内存,凭什么必须在这里?一旦内存水位线逼近阈值(不同机型不同,老机器可能 600MB 就危,新机器能抗 1.5GB),系统发个警告。

大模型大数据攻城狮的专栏 726

一个月读完6本书?这些烧脑神书,你能读完1本,就是学霸!

导读:宅家有刷不完的剧、打不完的游戏?在线听课又走神了?一觉醒来假期又延长了?但假期虽漫长,终究有开学的那天。那么应该为迟来的开学做哪些准备?停课不停学!近日,著名经济学者薛兆丰在得到a...

大数据 2102

题解:洛谷 P14357 [CSP-J 2025] 拼数

等知名刷题平台精心挑选而来,并结合各平台提供的算法标签和难度等级进行了系统分类。题目涵盖了从基础到进阶的多种算法和数据结构,旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。小 R 想知道,在他所有能拼成的正整数中,最大的是多少。你需要帮助小 R 求出他能拼成的正整数的最大值。小 X 给了小 R 一个字符串。输出一行一个正整数,表示小 R 能拼成的正整数的最大值。中的任意多个数字,按任意顺序拼成一个正整数。,表示小 X 给小 R 的字符串。#普及-# #其他排序#洛谷:[P14357。

团爸讲算法 1398

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

MIT的算法导论课程资料

   MIT的算法导论第一节课上,教授就说得了算法的performance的重要性,并非简单的只是快一点,慢一点,而是整个解决方案可行与不可行的差别。作为一个学生来说,在《算法导论》和《计算机程序设计艺术》两本最经典书来说,应该选择《算法导论》来读,这样读起来更加容易。如果我还能回到刚入大学的时候,我一定会在大一或者大二的时候,花一年好好读完这本书,然后再花一年的时间去参加ACM的相关比赛和培训。

Liang Tang's 专栏 1万+

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

读完大呼过瘾的计算机书籍

读完大呼过瘾的计算机书籍

mrjieke6的博客 265

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

《算法导论》第三版勘误与建议

      最近在读由殷建平、徐云、王刚、刘晓光、苏明、邹恒明和王志宏七位老师翻译,机械工业出版社出版的《算法导论(第3版)》这本书,发现了一些不太恰当的地方,在这里进行一下记录,以方便日后再读时查阅。此处按照页码顺序进行排序,由于我现在尚远远没有读完此书,故只能找出已读部分的一些进行整理,日后会不断完善。如有改得不太恰当之处,还请诸位大神不吝留言赐教。 第一部分 基础知识 第4章 分治策略 ...

仰起脸笑得像满月 2466

看《算法导论》的一点感想 (转)

原地址:点击打开链接 说实话,我没把那书看完,甚至没有看过1/10,至于做题就更没谱了,只要不是有人提起,我根本不知道哪个题居然在算导(下文简写成clrs)中出现过,但是我还要写一下我对这书的心得,看法和感受,尤其是和找工作的关系,供大家分享。     1.为什么看这本书?个人认为是为了学习解决计算机科学普遍问题的方法论。该书的名称就是“导论”,本质上没讲几个算法,而是把900多页(我手

记录走过的风风雨雨 1万+

从学生到专家,C语言开发必读的8本书

本头条号总结了在C语言实际开发中必读的8本书,当然这8本书并不能囊括开发的方方面面,但就作者亲身体验来看,这8本书确实每个C语言开发者都必须要读的书,并且是应该深入精读的书。 C程序设计语言 相信大家都学过谭浩强的教材,但学完该教程之后可能懂得只是一些皮秒。要想深入的理解C语言的方方面面,还是建议读一下《C程序设计语言》。这本书是由C语言的设计者Brian W.Kernighan...

shuningzhang的专栏 1813

大学总结之影响我最深的十本书

今天是“世界读书日”,前几天微博上转发非常多的一条微博:“一日不读书,无人看得出;一周不读书,开始会爆粗;一月不读书,智商输给猪”,确实阅读是很重要的,对此我深有体会。大学四年我读了大量的书,其中大多是计算机技术方面的书,可以说从这些书中我打牢了我专业的基础,是我大学最大收获之一。 今晚回头翻看了一下图书馆的借书历史记录,我自己也被吓到了,到目前为止竟然借了339本之多,主要是在大二和大三借

海风林影 4723

算法导论阅读顺序

对于学计算机的,特别是搞开发的人来说,算法是一个很重要的内功,其重要性不言而喻。同时也是较难的一个点。当你被人安利了无数次《算法导论》,拿起书却发现根本读不下去。 本场 Chat 我将告诉你对于一个入门的新手来说应该如何以正确的姿势在 10 天内读完这本书的基础部分的,我会一步一步告诉大家每一章应该怎么读,具体到读书的顺序。亲测有效!算法基础部分包括: 算法在计算中的应用算法基础函数增

alex1997222的博客 1439

《算法导论》于我何焉?

从大二上学期开始接触严老师的《数据结构》时,就时常听到另一本书--《算法导论》!导论一词于我而言,就是粗犷全面地小介绍一下某门学科吧。 因为大一伊始,就有这门课--《计算机导论》。啊,哈哈!不好意思地说句吧,此门课时我进入大学以来第一次在课堂上睡觉的课。大家大概都有同感吧,非我想睡觉,而是课程实在无聊。换句话说吧,我对每一门课程都很尊重的,但此课程用的教材着实让你想到无数悖论:当今计算机

shangzwz的专栏 1669

算法导论吃透后的水平_初学算法,你应该这么玩

很多前端童鞋对算法都有莫名的恐惧,究其原因无非两点:其一,对算法不了解;其二,没有找到实际应用场景。一、为什么学习算法?这是个很有意思的问题,对算法感兴趣的人,不需要问为什么,算法对他们可能是一种兴趣。曾经有位同事,他刷遍了所有算法题,只要有算法竞赛,他都会去参加。当然,也取得了不错的成绩,甚至有了自己的世界排名。一次闲聊中,我抛出了这个问题,他笑着说:没有为什么,就是觉得好玩。我一直好奇,为什么...

weixin_39980893的博客 7247

算法导论 第2章 算法基础(插入排序,归并排序,冒泡排序,逆序对查找)

终于还是看《算法导论》这一本大厚书了,今天粗略看了看第2章的内容,讲的主要是几个排序问题,于是我就想着把里面伪代码用C/C++实现一下,一来可以加深我对算法的理解,同时也可以分享一下我的想法,可能对初看《算法导论》这本书的初学者有所帮助。废话不多说,直接开始。 插入排序(Insertion Sort) 顾名思义,在进行插入排序的时候,就像打扑克牌一样,将一个“牌”插入到已有的、排好序的牌中,使其仍有顺序。这个书上应该讲的挺详细了,就直接实现了: #include <bits/stdc++.h>

A91A981E的博客 235
上一篇: Windows10必做的优化
下一篇: VMware Workstation 在 Windows 主机上不完全卸载后执行清理 (1308)
Estrellas_
博客等级 码龄9年 273粉丝 233原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值