
数据结构和算法
Jimmy1224
这个作者很懒,什么都没留下…
展开
-
常用数列求和公式
斐波那契数列形如数列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ...如果设F(n)为该数列的第n项(n∈N*),那么这句话可以写成如下形式:F(n)=F(n-1)+F(n-2)通项公式:求和公式:Sn=2An+A(n-1) - 1 = A(n+2) -1等差数列:形如数列:1, 2, 3, 4, 5, 6, ...则其前n项求和公式...原创 2019-12-08 17:43:48 · 12133 阅读 · 0 评论 -
单链表、循环链表、双向循环链表总结
链表介绍不带头结点的单向链表带头结点的单向链表循环链表双向循环链表原创 2019-11-23 18:56:31 · 7994 阅读 · 0 评论 -
链表头结点和不带头结点的区别
一、概念辨析线性表的插入删除需要移动大量的元素,因此引入链表(本文讨论单链表)的概念,链表元素之间通过“链”来链接,因此插入和删除时不需要大量的移动元素,而只需要改变“链”的关系即可。头指针:通常使用“头指针”来标识一个链表,如单链表L,头指针为NULL的时表示一个空链表。链表非空时,头指针指向的是第一个结点的存储位置。头结点:在单链表的第一个结点之前附加一个结点,称为头结点。头结点的Dat...转载 2019-11-17 23:34:29 · 13285 阅读 · 6 评论 -
算法的时间和空间复杂度总结
衡量算法效率的两个指标一位瑞士的计算机学者曾提出 这样的观点“程序设计 = 算法 + 数据结构” ,可见算法在计算机编程中具有重要地位。下面给出衡量算法性能的两个指标:时间复杂度 T(n)空间复杂度 S(n)时间复杂度算法的时间复杂度是指算法执行时间随问题规模n的增大而增长的趋势,它是一个定性指标,是一种趋势性的描述,而不是具体的执行时间。衡量时间复杂度是指==从算法中选取一种对于...原创 2019-11-03 19:56:23 · 790 阅读 · 0 评论 -
哈希数据结构和代码实现
#include "Hash.h"#include <stdio.h>#include <memory>int InitHash(HASH_TABLE* table, int capacity){ if(NULL == table) { return DA_ERROR; } table->size = 0;...原创 2019-10-31 21:19:40 · 443 阅读 · 0 评论