数据结构
666啊lxq
这个作者很懒,什么都没留下…
展开
-
对于递归空间复杂度的理解
递归调用时压入栈的数据所需要的空间,就是本次递归树的深度(高度),列入用递归计算阶乘,就是单叉树,空间复杂度就是n,递归计算斐波那契数列就是二叉树,空间复杂度就log2n,如图理解,到达第四层,返回第三层,栈弹出数据。 ...原创 2022-05-06 17:47:34 · 773 阅读 · 0 评论 -
内存的栈和数据结构的栈的区别
数据结构中的一般称“栈(stack)”,是一种后进先出的数据结构。它是一种概念,或者说是一种逻辑技术,与语言、平台无关。内存管理中的“堆栈”其实是分为堆(heap)和栈(stack)的,以引用变量为例,引用变量本身存储在栈中,引用变量指向的值存储在堆中。如int[] arr = {1, 2, 3};变量arr(数组名)存储在栈中,变量arr的值(数组元素)存储在堆中(普通结构)。内存管理中的栈采用的就是数据结构中的栈的思想,即遵循后进先出的管理方法。好比数据结构中的栈是一项先进的技术,在内存管理中采用了该技原创 2022-04-17 22:52:47 · 1045 阅读 · 0 评论 -
数据结构-链表-获得链表节点个数
注意链表是否为空。 int GetListNodeLen(struct ListNode* l1) { if (l1 == NULL) { return 0; } struct ListNode*p=l1; int aListLen = 0; while(p != NULL) //判断当前节点指针是否为空 { aListLen ++; p = p->next; } return原创 2022-03-14 22:21:56 · 850 阅读 · 0 评论