数据结构学习(一)

  • 数据结构:数据的存储方式,specially,复杂的数据要关注数据元素之间的关系用合适的方式来存储。
  • 数据结构大致分类:线性表(顺序表、链表、栈、队列),树结构(普通树、二叉树、线索二叉树),图结构。
  • 线性表结构存储的数据往往是可以依次排列的。线性表并不是一种具体的存储结构,它包含顺序存储结构和链式存储结构,是顺序表和链表的统称。
  • 顺序表结构的底层实现借助的就是数组。可简单理解成数组。需要提前申请一定大小的存储空间,这块存储空间的物理地址是连续的。
    数据结构学习(一)_第1张图片* 链表则完全不同,使用链表存储数据时,是随用随申请,因此数据的存储位置是相互分离的,换句话说,数据的存储位置是随机的。为了给各个数据块建立“依次排列”的关系,链表给各数据块增设一个指针,每个数据块的指针都指向下一个数据块(最后一个数据块的指针指向 NULL)组成单元由指针和数据块两部分组成。
    数据结构学习(一)_第2张图片
  • 栈和队列是特殊的线性表,栈元素遵循先入后出的原则,在栈的同一端进行。队列则是先进先出原则,在队里两段进行。
  • 数存储结构具有一对多的特点。
  • 图存储结构具有多对多的特点。
  • 算法是解决某个问题的想法、思路;而程序是在心中有算法的前提下编写出来的可以运行的代码。
  • 算法好的标准:首先,能准确解决问题。其次,能在多种情况下不崩溃。最后,时间效率和空间效率高。
  • 算法的时间复杂度,主要看算法中使用到的循环结构中代码循环的次数(称为“频度”)。次数越少,算法的时间复杂度越低。
  • 数据的逻辑结构(主要只各元素之间的关系)分为四种类型:集合结构,线性结构,树形结构,图形结构。物理结构又叫存储结构(数据的存储方式),分为四种,顺序存储结构、链式存储结构、索引结构、散列结构。
    数据结构学习(一)_第3张图片

你可能感兴趣的:(数据结构学习(一))