数据结构概括

         最近在找实习的时候发现,企业还是很看重数据结构的,即使我应聘的是java开发,既然重要,那咱们就学吧,其实也算不上学了,因为大二的时候已经学过了,只不过在后来的项目中很少用到,所以忘了,现在就相当于温习一下了,这里先大概介绍一下数据结构的知识


     1.数据结构的任务是,讨论数据的各种逻辑结构,在计算机中的存储结构以及各种操作的算法设计

    2.名言:数据结构+算法=程序

                 数据结构:所要解决问题的数学模型

                算法:处理问题的策略

                程序设计:为计算机处理问题编制的一组指令集

    3.数据结构包括三方面:逻辑结构、存储结构、操作。

    4.从数学的角度来说,数据结构是一个二元组,(D,S)

                          D是数据元素的有限集,S是D上关系的有限集

    5.数据结构从逻辑上来说,也就是其逻辑结构,分为线性结构和非线性结构从存储上来说也就是其存储结构,分为顺序和链式。


    6.数据的操作包括:增删改查,遍历,判断,求长度等


    7.有穷性和可行性是算法最重要的两个特征

    8.算法是建立在数据结构之上,对数据结构的操作需要用算法来描述;算法设计依赖数据的逻辑结构,算法的实现依赖数据的 存  储结构

    9.算法分析:时间效率和空间效率,有时两者是矛盾的,此时时间效率优先

    10.大O表示法,只保留最高阶,多涉及到数学中的对数函数、指数函数、数列等知识

           复杂度:O(1)<O(log2^n)<O(n)<O(nlog2^n)<O(n^2)

          如果我们设计的算法其时间复杂度是后两种的话,就需要好好再优化一下了,尤其是大数据时


     最后说一下数据结构实现的问题,国内大多数是用C/C++实现的,少量用java实现,用C/C++实现的好处是,对数据结构会有更深入的理解,用java的话倒是更容易理解,比较直观,我的建议是,大家学什么语言就用什么语言来实现吧,这样不仅熟悉了数据结构,更熟悉了语言,精通了一个之后其他的就随便了,主要看个人。我也曾经在语言上纠结过,不过后来想明白了,既然我是学java出生,而且做项目也用java,那就用java来实现吧,不然力量分散,什么也学不好。我们也发挥一下“集中优势兵力”的思想哈

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值