zoukankan      html  css  js  c++  java
  • 绪论0.5

    大数据如何组织?如何处理?

    • 基本数据组织和数据处理方法?
    • 各种数据的逻辑结构描述?
    • 各种数据的存储结构表示?
    • 各种数据结构的运算定义?
    • 设计实现运算的算法?
    • 分析算法效率?

      数据结构在C/C++进阶中的地位:

      数据结构在计算机课程中的地位:

      

      数据结构类比课程:


    知识树进阶

    1. 掌握数据结构的“基本概念、基本原理、基本方法”,求解问题。
    2. 掌握算法基本的时间复杂度与空间复杂度的分析方法,能够设计出求解问题的高效算法。同一求解问题同长有多中实现短发,通过时间复杂度与空间复杂度的分析,找出最好的实现算法。例如,求1+2+...+n
    int fun1(int n){
      int i,  s=0;
      for (i=1; i<=n; i++){
        s+=1;
      } 
       return s;   
    }
    
    int fun2(int n){
       return (n+1)*n/2;   
    }
    

      算法2好于算法1。

      3. 理解各种数据结构的逻辑特性和存储结构设计。

       

      4. 只有掌握了数据的存储结构,才能在此之上设计算法。

      5. 利用各种数据结构来求解实际问题。(数据如何表示(选择合适的数据结构)?数据运算如何实现?数据运算如何高效实现?)

      

      从用户的角度看数据,什么类型的逻辑结构,怎样运算描述【需要解决的任务:统计每个班的人数?统计每个专业的人数?统计学院的总人数?】。弄清求解的问题是什么:逻辑层面。实现求解问题:物理层面(或实现层面)。存储表示或映射哪种存储结构,

      6. 演绎和归纳相结合。数据结构→演绎学习【鱼(内容):基本概念、基本原理和基本方法】→训练【练习(作业和编程)】→归纳总结【渔(方法):求解问题的能力】。培根曾说:The methods are old, the problems are new(方法是旧的,问题是新的)。

      7. 数据结构与算法设计密不可分的。可以参考,ACM CS-2013:计算机科学分支的核心知识领域。知识领域之一:AL-Algorithm and Complexity。


     挑战赛进阶

           牛客网,                                              

               PKU JudgeOnline

         

                                 HDU Online Judge System

                                                    入门OJ

                             Online Judge

           ACM             TOPCODER                      

    项目进阶

      建议:到开源社区找一些有趣的与数据结构与算法分析相关的项目练手。

      【1】 gitbook,看书。

      【2】 经典编程书籍。

      【3】 软件工程、算法与架构。

      

  • 相关阅读:
    错误解决mysql
    (一)熟悉执行流程——基于ThinkPHP3.2的内容管理框架OneThink学习
    版权控制之zend guard 6.0使用教程
    IP进制站群原理
    多线程更新已排序的Datagridview数据,造成数据错位
    压缩html 减小存储空间
    DataGridView导入导出excel
    软件下载目录
    java反射
    JTA
  • 原文地址:https://www.cnblogs.com/jianle23/p/13305578.html
Copyright © 2011-2022 走看看