![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
普通网友
这个作者很懒,什么都没留下…
展开
-
Python实现堆排序
发现一个讲解非常清楚的堆排序网址堆排序原理网址思考:升序建立大顶堆,然后把最大值放在列表的尾部。降序建立小顶堆,然后把最小值放在列表的尾部。1.建立初始堆,确保父节点大于子节点。2.然后从头到尾进行找到第二大值,一直确保是满足父节点大于子节点。Python实现代码:# -*-coding:utf-8-*-def heap_sort(list): l转载 2018-01-28 20:57:58 · 185 阅读 · 0 评论 -
Python实现快速排序
快速排序比冒泡排序快的地方是,快速排序的交换次数比较少# -*- coding: utf-8 -*-list=[1,2,43,3,58,76,3]lenght=len(list)for i in range(0,lenght): max=list[i] index=i for j in range(i,lenght): if list[j]>max:原创 2017-11-28 18:17:13 · 249 阅读 · 0 评论 -
数据结构之红黑树
http://www.cnblogs.com/skywang12345/p/3245399.html转载 2017-10-30 17:11:51 · 214 阅读 · 0 评论 -
数据结构与算法面试题
1。计算二叉树的深度// 获取最大深度 public static int getMaxDepth(TreeNode root) { if (root == null) return 0; else { int left = getMaxDepth(root.left); int righ原创 2017-08-30 13:20:55 · 547 阅读 · 0 评论 -
直接插入排序算法设置哨兵
看了大话数据结构,学习386页直接插入排序设置哨兵。在计算最坏情况的时候,计算是准确的,但是代码的for出现问题,for应该换成while,如果不改成while就会变成3+4+....而不是2+3+...。...原创 2018-06-22 11:29:17 · 2260 阅读 · 0 评论 -
数据结构之顺序查找优化
在一个list中查找是否包含key值的时候,都是遍历list中所有的元素,但是使用设置哨兵的方法,就可以节省很长时间。顺序查找优化学习链接如果a[0]就是key就会出现问题。...转载 2018-06-19 11:22:23 · 791 阅读 · 1 评论 -
O(1)时间内删除单链表里面的一个节点
算法学习链接如下:单链表学习链接转载 2018-07-02 11:05:26 · 367 阅读 · 0 评论 -
大数据算法:对5亿数据进行排序
5亿数据不能全部加载到内存中,并且不能使用mapreduce,只能使用单机版。5亿数据进行排序学习链接排序算法分类内排序和外排序内排序和外排序的介绍转载 2018-06-20 17:00:52 · 3102 阅读 · 1 评论