数据结构与算法基础
文章平均质量分 70
介绍基本的数据结构以及简单的算法思想
hula_hula_
这个作者很懒,什么都没留下…
展开
-
[算法]快速排序与随机快速排序
与归并排序一样,快速排序也运用了分治策略,而随机快速排序是对快速排序的一种优化。原创 2022-02-10 12:00:29 · 1420 阅读 · 3 评论 -
[算法]归并排序
归并排序使用了分治思想,本篇文章将会通过这种排序让读者大概体会什么是分治思想。原创 2022-02-09 20:08:41 · 405 阅读 · 0 评论 -
[算法]堆排序
堆排序(heapsort),是一种时间复杂度为O(nlgn)的排序方法。用到了数据结构“堆”。原创 2022-02-08 10:09:14 · 487 阅读 · 0 评论 -
[数据结构]代码:二叉树的基本操作
首先定义节点:template <class T>struct TreeNode{ T val; TreeNode<T>* parent; TreeNode<T>* left; TreeNode<T>* right; TreeNode() : val(0), parent(nullptr), left(nullptr), right(nullptr) {} TreeNode(T val) : val(val), parent(nullpt原创 2022-01-30 12:23:49 · 1343 阅读 · 0 评论 -
[数据结构]代码:单链表的定义和基本操作
简单写了一些基本操作,希望大佬们能指正。#include <iostream>using namespace std;template <class T>struct ListNode { T data; ListNode<T>* next; ListNode() : data(0), next(nullptr) {} ListNode(T val) : data(val), next(nullptr) {} ListNode(T val, Li原创 2022-01-27 19:20:28 · 588 阅读 · 0 评论 -
[算法]冒泡排序和插入排序
前言排序是作为数据处理时最常用到的算法,也是基础算法的最基本的操作。常见的排序操作分为:插入排序、冒泡排序、选择排序、归并排序、快速排序、计数排序以及基数排序。本篇博客介绍插入排序的思想和实现。理论部分插入排序,顾名思义,重点在于插入操作。其排序的方法就像我们在玩扑克牌时进行捋牌的操作。当我们面前有固定数量的牌时,我们会取出一张牌,把它拿到手里,然后继续抽牌,把它放到手上正确的位置,即插入到正确的位置。但随机选择一张牌然后对剩余的牌进行操作...原创 2022-01-27 22:54:22 · 1558 阅读 · 0 评论