Java数据结构-LinkedList实现


LinkedList单链表实现/* * @Author: meowrain meowrain@126.com * @Date: 2023-11-03 12:11:07 * @LastEditors: meowrain meowrain@126.com * @LastEditTime: 2023-11

Java数据结构-Stack实现


import java.util.ArrayList;import java.util.NoSuchElementException;public class ArrayStack<E> { private int capacity; private int top;

二叉堆


二叉堆堆(Heap)是一类数据结构,它们拥有树状结构,且能够保证父节点比子节点大(或小)。当根节点保存堆中最大值时,称为大根堆;反之,则称为小根堆。二叉堆(Binary Heap)是最简单、常用的堆,是一棵符合堆的性质的完全二叉树。它可以实现O(logn)O(logn)O(logn)地插入或删除某个

堆排序


堆排序堆排序的时间复杂度O(N∗logN)O(N*logN)O(N∗logN),额外空间复杂度O(1)O(1)O(1),是一个不稳定性的排序堆的结构可以分为大根堆和小根堆,是一个完全二叉树,而堆排序是根据堆的这种数据结构设计的一种排序,下面先来看看什么是大根堆和小根堆大根堆每个结点的值都大于其左孩子

Java数据结构-ArrayList实现


import java.util.NoSuchElementException;public class MyArrayList<E> { // 存储数据得数组 private E[] data; // 记录数组中元素得个数 private int size;

《数据结构笔记》- 栈


用数组实现栈#include <iostream>using namespace std;int MAX_SIZE = 10; // 定义栈的最大容量int *Stack = new int[MAX_SIZE]; // 动态分配数组空间int top = -1;

《数据结构笔记》-链表篇


第一个链表程序// 第一个链表程序#include <iostream>struct Node{ int data; Node* next;};int main() { Node* A = NULL; // Node* temp = (Node*)malloc(s

Leetcode 83. 删除排序链表中的重复元素


https://leetcode.cn/problems/remove-duplicates-from-sorted-list//** * Definition for singly-linked list. * struct ListNode { * int val; * stru

Leetcode 206. 反转链表


https://leetcode.cn/problems/reverse-linked-list/C语言解答/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNod

数据结构- 队列实现


#include <stdio.h>#include <stdlib.h>typedef int E;typedef struct Queue { E *array; int capacity; int rear,front; //队尾,队首指针} *Arr