数据结构概括
来源:互联网 发布:环形数据库 编辑:程序博客网 时间:2024/04/29 10:34
最近在找实习的时候发现,企业还是很看重数据结构的,即使我应聘的是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来实现吧,不然力量分散,什么也学不好。我们也发挥一下“集中优势兵力”的思想哈
- 数据结构概括
- 数据结构概括
- 数据结构基础概括_legend
- 数据结构知识点概括
- 数据结构之堆栈7概括
- 数据结构之线性表1概括
- 数据结构概括——链表,栈,队列
- 概括
- 数据结构与算法(七):常见数据结构与算法概括
- 数据结构学习笔记17——队列的总结与概括
- java集合+迭代器+数据结构概括+线程同步/异步和线程阻塞/非阻塞
- sql概括
- JSON概括
- GDI+概括
- Hibernate概括
- 分辨率概括
- C# 概括
- 概括ExtJS
- 路由器NAT类型
- java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher问题解决
- 关于UITableView的Cell复用谈谈我的一些心得
- request.getParameter() 、request.getAttribute() 和 session.getAttribute区别
- 从SQL T-SQL PL/SQL的区别看待我的总结
- 数据结构概括
- 处理表重复记录(查询和删除)
- 黑马程序员~多线程小述
- Visual Studio调试多线程应用程序
- printf(&unix["\021%siz\012\0"].....
- oracle 10G jobs运行报错 sys.dbms_ijob sys.dbms_jos
- 域名与IP地址及其映射
- 动态添加控件
- Error creating bean with name 'sessionFactory' defined in class path resource [applicationContext.xm