
数据结构
文章平均质量分 85
菜鸟自学数据结构初阶个人理解,仅供自己复习用
许怀楠
记录自己的计算机学习之旅
展开
-
【数据结构】二叉树
树是一种非线性的数据结构,它是由n(n>0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来很像一棵倒挂的树,也就是说它是根朝上,叶朝下的。树形结构中,子树之间不能有交集,否则就不是树形结构。原创 2025-02-04 14:01:10 · 780 阅读 · 1 评论 -
【数据结构】单链表
链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。原创 2024-11-23 20:07:52 · 770 阅读 · 4 评论 -
【数据结构】双向链表
注意:这里的“带头”跟前面我们说的“头结点”是两个概念,实际前面的在单链表阶段称呼不严谨,但是为了更好的理解就直接称为单链表的头结点。带头链表里的头结点,实际称为“哨兵位”,哨兵位结点不存储任何有效元素,只是站在这里“放哨的”。原创 2024-11-18 21:22:55 · 290 阅读 · 0 评论 -
【数据结构】顺序表
SLDatatype* tmp = (SLDatatype*)realloc(ps->arr,newCapacity * sizeof(SLDatatype)),其中ps->arr指向需要分配新内存的地址,newCapacity * sizeof(SLDatatype))表示需要扩大多少内存,以字节为单位, sizeof(SLDatatype)是一块SLDatatype所需要的内存。往顺序表中插入数据时,需要先判断数据表的空间是否充足,充足时才可以插入,如果顺序表的空间不够,则需要先增容。原创 2024-09-06 11:48:01 · 850 阅读 · 9 评论 -
【数据结构】复杂度
根据大O的渐进表示法,时间复杂度表示为O(N^2)。在图上所示的程序中 ,第一个for循环外层执行N次,其中的内层的语句执行N次,即N^2次,第二个for循环执行2*N次,while循环执行十次,所以此程序一共执行了N^2+2*N+10次,时间复杂度函数表达式表示为T(N)=N^2+2*N+10。到N=0之前,一直会执行N次return Fac(N-1)*N,或者是每次执行一次return Fac(N-1)*N,每次的复杂度是O(1),直到N=0时,一共执行了N次,N个O(1)相加,最终复杂度为O(N)。原创 2024-09-04 21:30:23 · 974 阅读 · 5 评论