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