数据结构
数据结构
Chaoying.
这个作者很懒,什么都没留下…
展开
-
手撕生产者消费者问题——进程同步、进程互斥、进程通信
手撕生产者消费者问题——进程同步、进程互斥、进程通信。原创 2023-04-21 11:28:36 · 305 阅读 · 1 评论 -
BitMap 算法原理及实现
bitmap算法原理及c++实现原创 2023-04-18 10:12:43 · 276 阅读 · 0 评论 -
道格拉斯-普克曲线简化算法
道格拉斯-普克曲线简化 c++代码实现原创 2023-04-11 20:26:13 · 418 阅读 · 0 评论 -
基于BFS的Dijkstra算法
基于BFS的Dijkstra算法。原创 2023-03-24 20:31:26 · 260 阅读 · 0 评论 -
力扣:最长回文子串
力扣经典问题:最长回文子串原创 2023-03-22 16:39:46 · 144 阅读 · 0 评论 -
堆排序算法
堆排序算法。原创 2023-03-22 16:35:02 · 119 阅读 · 0 评论 -
二叉树生成和遍历
二叉树生成和遍历。原创 2023-03-22 16:33:53 · 136 阅读 · 0 评论 -
打印从1到N的全排列
打印1到N的全排列原创 2023-03-11 21:05:34 · 210 阅读 · 0 评论 -
深度优先搜索和广度优先搜索C++实现
深度优先搜索和广度优先搜索C++实现原创 2023-03-10 22:07:46 · 1084 阅读 · 0 评论 -
选择排序-冒泡排序-插入排序-希尔排序-归并排序-快速排序-基数排序(C++)
Sort.h#pragma onceclass Sort{public: Sort(); ~Sort(); static void selectSort(double s[], int length); static void bubbleSort(double s[], int lenght); static void insertSort(double s[], int length); static void shellSort(double s[], int length);原创 2021-11-13 10:38:55 · 938 阅读 · 0 评论 -
最短路径算法——dijkstra
先上代码from osgeo import ogrimport numpy as npdef dijkstra(pList:dict,rList,adjacency,pStart): # pList 点表 # 字典格式pList={pId:pIndex,…………} # rList 边表 # 字典格式rList={rId:rLength,…………} # adjacency 空间邻接矩阵 # 考虑到两节点间可能有多条边,所以采用三维的空间邻接矩阵原创 2021-11-18 10:05:16 · 391 阅读 · 0 评论 -
红黑树python代码实现
红黑树是一种自平衡的二叉搜索树,再Java hashmap中,当链表的长度超过阈值时就自动将链表转为红黑树以加快数据检索效率。关于红黑树的原理,大家可以参考下面大神的链接:彻底理解红黑树(一)之二叉搜索树彻底理解红黑树(二)之插入彻底理解红黑树(三)之删除在编程实现的过程中我主要注意了两个方面的问题:删除黑色叶子节点时,是先删除在平衡还是先平衡在删除由于在删除黑色叶子节点的过程中,需要获取该节点的兄弟节点snode,父节点pnode,祖节点gnode等,所以我是先将该黑色的叶子节点看作null原创 2021-06-17 16:19:41 · 918 阅读 · 0 评论 -
python中通过整数链表计算2的1000次幂
python中通过整数链表计算21000class Node(object): def __init__(self,value,pnode) -> None: self.value=value self.father=pnode# 整数字符串转为链表class nodeInt(object): @staticmethod def strInt2Node(strInt:str)->Node: l=len(strInt)原创 2021-06-18 15:33:54 · 236 阅读 · 0 评论 -
(改进)冒泡排序和(改进)鸡尾酒排序
参考博客#include <iostream>#include <ctime>using namespace std;// 一般的冒泡排序算法void bubbleSort(double s[], const int n){ if (n <= 1) { return; } for (int i = 0; i < n - 1; i++) { bool flag = true;原创 2021-12-27 14:05:24 · 136 阅读 · 0 评论 -
C++中string转为字符数组
方法一#include <iostream>#include <string>using namespace std;int main(){ string name_str("chaoying"); int n=name_str.length(); // 方法一 // gcc编译器允许传入变量定义动态数组 // g++编译器不允许传入变量定义动态数组 // 因此只能从堆内存中动态分配内存空间,也可以直接用vector容器原创 2022-01-01 09:46:23 · 2420 阅读 · 0 评论