[算法与数据结构]算法学习计划

为什么要开始学习算法

工作刚开始几年越来越意识到了算法和数据结构的重要性,好的结构和算法可以让我们的程序性能更好。设计不好的算法,会让程序的性能变得很差,尤其是在面对大量数据的时候,非常明显。所以重新拾起书本,开始补习基础。

学习计划

 主要是将过去遗忘的知识重新拾起来。为了更系统地学习,主要还是采取刷书的方式。我计划刷这三本书:

  

 教课书,相对之前学习的时候接触过,更加容易入手,主要对数据结构进行系统的复习和巩固。

 

这本也是教科书,相对而言简单,算法的入门书籍吧,主要通过这本书将算法的一些知识重新复习一遍,这次看肯定跟之前看效果不同,有些内容肯定又有新的理解。

这是一本java版本的数据结构和算法书籍,因为博主平常工作中主要使用的语言是Java,通过这本书顺便巩固下java对算法的实现细节。

编程贵在实践,只有实践才能真正明白知识背后的原理。光看书不够,我还会使用Leetcode 进行刷题,理论和实践结合,循环往复,不断迭代式地学习。

 我会把过程中的心得还有Leetcode题目的解法,以博客的形式进行更新,欢迎各位大神莅临指导!

学习方式

学习算法的方式,我打算采取以下方式:

  1. 看一些相关视频
  2. 阅读书籍,搭建环境编写代码运行验证。在阅读的时候对一些关键的概念和知识点进行笔记,尝试用思维导图做笔记,形成一个知识的网络。
  3. 以博客的形式,定期更新自己的学习心得,通过网友的反馈互动,不断提升自己。
  4. 在工作中,将所学运用起来,提升程序性能,去解决一些复杂的问题。 

关于博主

主要从事大数据相关工作,目前的方向主要是实时计算。如果大家在研究学习过程中有什么疑问,我们可以互相探讨学习,我的邮箱是:hsdcloud艾特163.com

原文地址:https://www.cnblogs.com/AllenZhang1/p/8594719.html

时间: 2024-08-30 05:11:19

[算法与数据结构]算法学习计划的相关文章

视图动画学习算法和数据结构(二)(<Garry进阶(四)>)

转载请注明: 接视图动画学习算法和数据结构(不定期更新)() 快速排序(QuickSort) 动画演示: java代码: public class QuickSort { private int array[]; private int length; public void sort(int[] inputArr) { if (inputArr == null || inputArr.length == 0) { return; } this.array = inputArr; length

数据结构与算法学习之路:背包问题的贪心算法和动态规划算法

一.背包问题描述: 有N种物品和一个重量为M的背包,第i种物品的重量是w[i],价值是p[i].求解将哪些物品装入背包可使这些物品的费用总和不超过背包重量,且价值总和最大. 二.解决方法: 1.贪心算法:贪心算法基于的思想是每一次选择都作当前最好的选择,这样最后的结果虽然不一定是最优解,但是也不会比最优解差很多. 举个例子说明可能好懂一些:一帮基友去聚餐,菜是一份一份上的,我每一次夹菜都只夹牛肉/海鲜吃,可能到最后我吃的牛肉/海鲜很多,但不一定代表我吃掉的东西的总价值最高,但是相对来说价值也很高

python、数据分析师、算法工程师的学习计划

1.前言 最近(2018.4.1)在百忙之中开通了博客,就喜欢能够把自己所学所想沉淀下来,这篇是我开始系统学习python,称为数据分析师和算法工程师之路的计划,望有志于为同样目标奋斗的数据猿一起交流和学习. 2.Python学习计划 2.1 学习计划 (1)找一本浅显易懂,例程比较好的教程,从头到尾看下去.不要看很多本,专注于一本. (2)去找一个实际项目练手.(参照Crossin的编程教室-Python入门,Python的练手项目) 2.2 学习资料 零基础入门书籍:<简明python教程>

python入门、python数据分析(numpy、matplotlib、sklearn等)tensflow、爬虫、机器学习、深度学习、自然语言处理、数据挖掘、机器学习项目实战、python全栈、PHP、java、java web、openCV、hadoop、matlab、android、数据结构算法和刷题等教学视频

扫描二维码加好友购买视频,绝对优惠,谢谢支持. python入门和进阶熟练教学视频 入门: 进阶: python数据分析教学视频 python数据分析晋级班 tensorflow教程及实战 python爬虫教学 机器学习课程 深度学习课程 机器学习项目班 自然语言处理教学视频 python全栈教学视频 数据挖掘视频 PHP教学视频 java java web openCV教学视频 Hadoop教学视频 matlab教学 andriod教学视频 数据结构算法班及面试班 原文地址:https://w

在Object-C中学习数据结构与算法之排序算法

笔者在学习数据结构与算法时,尝试着将排序算法以动画的形式呈现出来更加方便理解记忆,本文配合Demo 在Object-C中学习数据结构与算法之排序算法阅读更佳. 目录 选择排序 冒泡排序 插入排序 快速排序 双路快速排序 三路快速排序 堆排序 总结与收获 参考与阅读 选择排序 选择排序是一种简单直观的排序算法,无论什么数据进去都是 O(n2) 的时间复杂度.所以用到它的时候,数据规模越小越好.唯一的好处可能就是不占用额外的内存空间了吧. 1.算法步骤 首先在未排序序列中找到最小(大)元素,存放到排

学习算法和数据结构编程语言的选择

   在上一篇文章中,我阐述了算法的重要性,在这篇文章中,我将阐述为什么写算法最好使用C语言.    C++作为老牌的语言.编程语言的老大哥,在各种编程环境中都占据了市场,尤其是在算法竞赛和研究生机试阶段,在后起之秀Java和Python面前,没有丝毫的落后.C++给我的整体感觉是简单和基础,很多学校的计算机系都以C语言作为学生的第一门编程语言,就是因为这个原因.现在的算法竞赛大多使用的语言基本就是C.C++.Java.Python,这四种语言是常年占据编程语言排行榜前几名的语言.    C++

算法入门《数据结构与算法图解》+《我的第一本算法书》+《学习JavaScript数据结构与算法第3版》

最近几年学前端的人会越来越多,再加上前端的范围越来越广,从前端发展为全栈,数据结构和算法的功底要求势必将越来越高. <数据结构与算法图解>电子书及代码是数据结构与算法的入门指南,不局限于某种特定语言,略过复杂的数学公式,用通俗易懂的方式针对编程初学者介绍数据结构与算法的基本概念,培养编程逻辑.主要内容包括:为什么要了解数据结构与算法,大O表示法及其代码优化利用,栈.队列等的合理使用,等等. <算法图解>电子书非常的体贴,看起来也很快,用图来解释算法是非常好的想法,可作为学习数据结构

AJPFX关于学习java遇到的问题:对算法和数据结构不熟悉

为什么我先拿“数据结构和算法”说事捏?这玩意是写程序最最基本的东东.不管你使用 Java 还是其它的什么语言,都离不开它.而且这玩意是跨语言的,学好之后不管在哪门语言中都能用得上. 既然“数据结构和算法”这么重要,为什么很多 Java 新手却很不熟悉捏?我琢磨了一下,估计有两种可能.有些人虽然是计算机系毕业的,但是当初压根没好好学过这门课程,到工作时早都还给老师了:还有一些人是中途转行干编程,转行后又没有好好地打基础(都指望速成). 下面我列出几个很基本的问题,如果你每一个问题都搞得很清楚,那说

浅谈算法和数据结构

: 一 栈和队列 http://www.cnblogs.com/yangecnu/p/Introduction-Stack-and-Queue.html 最近晚上在家里看Algorithems,4th Edition,我买的英文版,觉得这本书写的比较浅显易懂,而且“图码并茂”,趁着这次机会打算好好学习做做笔记,这样也会印象深刻,这也是写这一系列文章的原因.另外普林斯顿大学在Coursera 上也有这本书同步的公开课,还有另外一门算法分析课,这门课程的作者也是这本书的作者,两门课都挺不错的. 计算