数据结构
文章平均质量分 86
程序员贝塔
这个作者很懒,什么都没留下…
展开
-
使用 Go 语言实现二叉搜索树
二叉树是一种常见并且非常重要的数据结构,在很多项目中都能看到二叉树的身影。它有很多变种,比如红黑树,常被用作std::map和std::set的底层实现;B 树和 B+ 树,广泛应用于数据库系统中。本文要介绍的二叉搜索树用的也很多,比如在开源项目 go-zero 中,就被用来做路由管理。这篇文章也算是一篇前导文章,介绍一些必备知识,下一篇再来介绍具体在 go-zero 中的应用。原创 2023-08-01 19:32:45 · 534 阅读 · 0 评论 -
Python 实现哈夫曼树和哈夫曼编码
技术博客:https://github.com/yongxinz/tech-blog同时,也欢迎关注我的微信公众号 AlwaysBeta,更多精彩内容等你来。关于哈夫曼树的定义、构建以及哈夫曼编码,可以参考《大话数据结构》这本书,也可以看这篇博客,写的也很清楚。下面主要来看一下哈夫曼树的 Python 实现:#!/usr/bin/env python# -*- coding: utf-...原创 2020-01-21 18:38:09 · 2536 阅读 · 0 评论 -
Python 实现七大排序算法
技术博客:https://github.com/yongxinz/tech-blog同时,也欢迎关注我的微信公众号 AlwaysBeta,更多精彩内容等你来。本文用 Python 实现了插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序。先整体看一下各个算法之间的对比,然后再进行详细介绍:排序算法平均时间复杂度最好情况最坏情况空间复杂度排序方式稳定...原创 2020-01-21 18:36:12 · 172 阅读 · 0 评论 -
Python 实现二叉树前序,中序,后序,层次遍历
技术博客:https://github.com/yongxinz/tech-blog同时,也欢迎关注我的微信公众号 AlwaysBeta,更多精彩内容等你来。树是数据结构中非常重要的一种,主要的用途是用来提高查找效率,对于要重复查找的情况效果更佳,如二叉排序树、FP-树。另外可以用来提高编码效率,如哈弗曼树。用 Python 实现树的构造和几种遍历算法。实现功能如下:树的构造递归实现...原创 2020-01-21 18:35:02 · 197 阅读 · 0 评论 -
Python 实现数据结构中的的栈,队列
技术博客:https://github.com/yongxinz/tech-blog同时,也欢迎关注我的微信公众号 AlwaysBeta,更多精彩内容等你来。栈栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元...原创 2020-01-21 18:33:40 · 142 阅读 · 0 评论 -
Python 实现数据结构中的单链表,循环单链表,双链表
技术博客:https://github.com/yongxinz/tech-blog同时,也欢迎关注我的微信公众号 AlwaysBeta,更多精彩内容等你来。元素域 data 用来存放具体的数据。链接域 prev 用来存放上一个节点的位置。链接域 next 用来存放下一个节点的位置。变量 p 指向链表的头节点(首节点)的位置,从 p 出发能找到表中的任意节点。单链表# -*- co...原创 2020-01-21 18:31:18 · 162 阅读 · 0 评论