数据结构的由来 美国心理学家提出了一个六度分离理论。指的是 ‘’你和任何一个陌生人之间所间隔的人不会超过五个,也就是说,最多通过五个人你就能够认识任何一个陌生人。”根据这个理论,你和世界上的任何一个人之间只隔着五个人,不…
分类:数据结构
数据结构(二)——树结构模型及应用
基于树实现的数据结构,具有两个核心特征: 逻辑结构:数据元素之间具有层次关系; 数据运算:操作方法具有Log级的平均时间复杂度。 因此,树在文件系统、编译器、索引以及查找算法中有很广的应用,本节将以树-二叉树-二叉搜索树…
数据结构与算法-队列
什么是队列? 队列(queue),是先进先出(FIFO, First-In-First-Out)的线性表。在具体应用中通常用链表或者数组来实现。队列只允许在后端(称为rear)进行插入操作,在前端(称为front)进行删…
数据结构(一):二叉树
定义 二叉树( binary tree )是有限节点集合构成的结构,其结构的递归定义为: 三个不相交的节点集合构成,一个作为根节点,一个节点集构成的二叉树作为根节点的左子树,另一个节点集构成的二叉树作为根节点的右子树 当…
工作后,为什么还要学习数据结构与算法(文末福利)
在学习计算机课程的时候,数据结构与算法这门课是最烧脑子的课程了,当时的心态,也就是为了学习而学习,也就是说为了考试不挂科而学,为了面试能拿到 offer 而学,也体会不到数据结构与算法有多强大的威力。以这种心态学习是最没…
pandas与numpy数据结构
Pandas是python的一个数据分析包,最初由AQR Capital Management于2008年4月开发,并于2009年底开源出来,目前由专注于Python数据包开发的PyData开发team继续开发和维护,属…
Python数据结构实现图
图 图是由边或者弧连接起来的节点的网络。在有向图中,节点之间的连接是有方向的,叫做弧(arcs)。在无向图中,节点间的连接没有方向,叫做边(edge)。图算法包括查找两点间路径、两点间的最短路径、判断一个图中是否存在环(…
Java 程序员必须掌握的 8 道数据结构面试题,你会几道?
瑞士计算机科学家Niklaus Wirth在1976年写了一本书,名为《算法+数据结构=编程》。 40多年后,这个等式仍被奉为真理。这就是为什么在面试过程中,需要考察软件工程师对数据结构的理解。 几乎所有的问题都需要面试…
数据结构(一)--入门和预备知识
数据结构 1. 概述 数据结构定义: 我们如何把现实中大量而复杂的问题以特定的数据类型和特定的存储结构保存到主存储器(内存)中,以及在此基础上为实现某个功能(如元素的CURD、排序等)而执行的相应操作,这个相应的操作也叫…
数据结构-堆
定义 优先队列:一种特殊的队列,队列中元素出栈的顺序是按照元素的优先权大小,而不是元素入队的先后顺序。 heap 堆的特性: 必须是完全二叉树 用数组实现 任一结点的值是其子树所有结点的最大值或最小值 最大值时,称为“最…
数据结构(集合)
集合框架 1.常用容器继承关系图 Paste_Image.png Iterator不是容器,只是一个操作遍历集合的方法 2.Collection和Map 在Java容器中一共定义了2种集合, 顶层接口分别是Collect…
大数据学习 第一篇——基础知识
大数据入门 总结一下近期学习的大数据知识,主要是参考了厦门大学林子雨老师的博客 学习之前没搞清楚的知识 传统的web应用(LAMP、JavaEE、NODE系等)与大数据什么关系? 之前一直以为大数据的东西就是来取代传统的…