
DSAA
DSAA
EVIL_6
即将翻身的咸鱼
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
时间与空间复杂度
算法效率第一种是时间效率,被称为时间复杂度,表示一个算法的理论上的耗时,衡量的是一个算法的运行速度。第二种是空间效率,被称作空间复杂度,主要衡量一个算法所需要的额外空间。时间复杂度时间频度一个算法中,语句执行的次数,被称为时间频度T(n)大O符号:用于描述函数渐进行为的数学符号。存在某个辅助函数f(n),当n->∞时,T(n)/f(n)的极限值为不等于零的常数,则称f(n)是T...原创 2019-11-15 12:28:18 · 118 阅读 · 0 评论 -
顺序表
头文件"seqlist.h"#pragma once#define _CRT_SECURE_NO_WARNINGS 1#include<windows.h>#include<cstdio>#include<malloc.h>#include<assert.h>#define SEQLIST_INIT_SIZE 8#define INC...原创 2019-11-15 23:31:19 · 171 阅读 · 0 评论 -
无头不循环单链表
头文件"Slist.h"#pragma once#include <stdio.h>#include <stdlib.h>#include <assert.h>typedef int DateType;typedef struct PlistNode{ DateType _date; struct PlistNode* _next;} Pli...原创 2019-11-24 14:45:39 · 150 阅读 · 0 评论 -
C----回文链表
请判断一个链表是否为回文链表。示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true进阶:你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?第一步:遍历链表,知道链表的长度,并找到中间节点(快慢指针实现);第二步:逆至前半段链表,使用两个指针,分别从头比较每一半的链表数值;需要注意的是链表长度可...原创 2019-11-29 19:38:42 · 189 阅读 · 0 评论 -
C----环形单链表
一、给定一个链表,判断链表中是否有环为了表示给定链表中的环,我们使用整数pos来表示链表尾连接到链表中的位置(索引从0开始)。如果 pos 是 -1,则在该链表中没有环。/* Definition for singly-linked list struct ListNode { int val; ListNode *next; ListNode(in...原创 2019-11-29 19:38:58 · 135 阅读 · 0 评论 -
C----合并两个有序链表
将两个有序链表合并为一个新的有序链表并返回。 新链表是通过拼接给定的两个链表的所有节点组成的。示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4/* Definition for singly-linked list. struct ListNode { int va...原创 2019-11-29 19:52:35 · 273 阅读 · 0 评论 -
C----链表的插入排序
从第一个元素开始,该链表可以被认为已经部分排序(用黑色表示)。每次迭代时,从输入数据中移除一个元素,并原地将其插入到已排好序的链表中。插入排序算法:插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。每次迭代中,插入排序只从输入数据中移除一个待排序的元素,找到它在序列中适当的位置,并将其插入。重复直到所有输入数据插入完为止。示例 1:输入: 4...原创 2019-12-03 00:11:10 · 237 阅读 · 0 评论 -
带头双向循环链表
1原创 2019-12-06 13:40:58 · 114 阅读 · 0 评论