zoukankan      html  css  js  c++  java
  • [数据结构与算法]02 什么是数据结构与算法以及我该怎么学

    什么是数据结构与算法呢?
    当你看到这个问题的时候,你脑海中的第一反应是什么?

    数据结构就是指一组数据的存储结构,算法是操作数据的一组方法.

    这样的答案是不是让你觉得,我去,这么抽象,所以算法是什么,数据结构是什么?还是一脸懵逼.
    小时候我的问题可多了,总是问我母上大人,妈妈这个字念什么,那个字念什么.母上大人后来被我烦的不行,索性给了我一本<新华字典>,教我怎么查,从那儿以后再也没烦过她了.
    为什么要说这个事情,因为我觉得这就是一个解释什么是数据结构,什么是算法的例子.新华字典是按照字母的顺序来给汉字进行编号,那么厚的一本字典就是「汉字」的存储结构.接下来我有个字知道它的拼音,但是我不知道它念几声哇,怎么办呢?一种方法是:根据字母顺序定位,然后开始找;另外一种方法是:根据偏旁部首来找到这个字,然后再看看它在几页,定位过去.为了查找这个汉字,所采用的方法,就是常说的算法.

    你有没有发现,只要说数据结构,就一定提到算法,或者提到算法的时候,就会说到数据结构.为什么呢?
    因为数据结构和算法是相辅相成的,数据结构是为算法服务的,算法主要作用在特定的数据结构之上,如果单独讲,没有什么意义,或者说意义不大.

    现在,我知道了学好数据结构和算法很重要了,但是我该怎么学呢?
    我现在也是在摸索阶段,根据自己的经验来说说.

    第一,要学会站在巨人的肩膀上.
    当你打开图灵图书的时候,你会发现这么一句话「站在巨人的肩膀上」,那么好的位置,如果用来放广告,会给它带来多少的效益啊,但是编辑没有这么做,反而是放了这样一句话,说明什么?说明这句话,特别值钱.
    所以能从这句话里面学到什么?
    站在巨人的肩膀上,能够少走很多弯路.现在互联网这么发达,只要你想学,课程一大堆,找一个好的课程踏踏实实的从头到尾学一遍,如果你对「知识付费」不排斥的话,我推荐极客时间上的「数据结构与算法之美」这个课程,我也在学习这门课程,给我的帮助很大.如果对付费比较排斥的话,我觉得大学计算机课程上的「数据结构导论」这本书吃透也差不多,不过我看的那个版本的是 C 语言的,对新手可能不太友好.

    第二,就是要多写,多练.
    展示你实力的从来都是 no BB , show code .
    想要学好算法也是这样,别说太多,干就完了.
    一定要多写.前一段时间为了准备考试,把课本上的例子,用各种算法都手写了一遍,冒泡的话,这些顺序是怎么动的,快速排序的话又是如何变化的.
    我觉得一定要用手写写画画,现在我对于算法思想有了一点儿感受.如果没有这个量,我觉得知道快速排序为什么快这一点是不会有很深刻的体会的.
    多写,多练,没啥捷径.

    最后一点就是心态的问题了.
    很多人,也包括我自己,常常是想着今天付出了,明天就要看到回报.
    明明知道一口吃不成胖子,可是真的在生活中,却总是想着这样的事情.
    心静,心静,让心沉淀下来.

    感谢您的阅读~

  • 相关阅读:
    常见三种字符编码的区别:ASCII、Unicode、UTF-8
    字节、字、bit、byte的关系
    SQLite 3 中的数据类型
    关于线程安全和可重入的区别
    线程安全与可重入
    c++中const变量定义与头文件包含的有关问题
    extern "C"的用法解析
    gVim for windows 简单使用教程
    函数对象
    Qt核心剖析:信息隐藏
  • 原文地址:https://www.cnblogs.com/zll-0405/p/12534107.html
Copyright © 2011-2022 走看看