数据结构的学习
半夏丶ExAg3r
岂能尽如人意。
展开
-
数据结构||二叉树的三种遍历方式(非递归)
二叉树的三种遍历方式(非递归)//都是leetcode上的二叉树练习题,利用栈先进后出的特性用来标记根节点,然后进行一系列出栈入栈操作最终得到结果.1.先序遍历class Solution {public: vector<int> preorderTraversal(TreeNode *root) { vector<int> res; TreeNode* cur = root; stack<TreeNode*>原创 2020-12-17 21:13:38 · 148 阅读 · 0 评论 -
数据结构||顺序表和链表的异同
顺序表和链表的异同相同点:1.都是线性表 2.都有唯一的前驱和后继 3.都支持查找元素不同点:1.底层存储空间不同:顺序表底层空间是连续的链表底层空间不连续2.插入和删除方式不同:顺序表任意位置插入和删除需要搬移大量的元素,效率低,时间复杂度为O(N)链表任意位置插入和删除不需要搬移元素,效率高,时间复杂度为0(1)3.随机访问:顺序表支持随机访问,访问任意位置都为O(1)链表不支持随机访问,访问任意位置元素的时间复杂度为O(N)4.扩容:顺序表:插入的时候需要进行扩容–开辟新原创 2020-10-31 17:50:06 · 3157 阅读 · 0 评论 -
LeetCode||数组求值
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]class Solution {public: vector<int> twoSum(vector<int>原创 2020-10-21 14:52:08 · 78 阅读 · 0 评论 -
数据结构||二叉树的创建,遍历(递归)
1.TestMain.c#include"Common.h"#include"BinTree.h"int main(){ BinTree bt; BinTreeInit(&bt); /*BinTreeCreate_1(&bt);*/ /*bt = BinTreeCreate_2();*/ BinTreeCreate(&bt); printf("VLR:"...原创 2019-11-13 21:06:49 · 170 阅读 · 0 评论 -
数据结构||两个链表的合并(顺序)
#include <stdio.h>#include <stdlib.h>typedef int ElementType;typedef struct Node PtrToNode;struct Node {ElementType Data;PtrToNode Next;};typedef PtrToNode List;List Read(); / 链...原创 2019-10-19 14:33:13 · 1538 阅读 · 0 评论 -
数据结构||顺序表的各种功能实现(动态增长版本)
文件一common.h#ifndef COMMON_H #define COMMOM_H #include<stdio.h> #inc...原创 2019-09-29 17:53:45 · 199 阅读 · 0 评论 -
数据结构||单链表功能的实现
单链表的一些基本功能实现1.写头文件的文档#ifndef _COMMON_ #define _COMMON_ #include<stdio.h> #include<stdlib.h> ...原创 2019-10-11 18:19:01 · 202 阅读 · 0 评论