100个不同类型的python语言趣味编程题 在求解的过程中培养编程兴趣,拓展编程思维,提高编程能力。 第一部分:趣味算法入门;第八题: 8.冒泡排序:对N个整数(数据由键盘输入)进行升序排序 冒泡排序的思想:首先从表头开始往后扫描数组,在扫描的过程中逐对比较相邻的俩个元素的大小。若相邻的两个元素中 ...
分类:
编程语言 时间:
2020-03-21 23:07:02
阅读次数:
81
堆排序 堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值总是小于(或者大于)它的父节点,前者称为大顶堆,后者成为小顶堆 解析(大顶堆) 大顶堆即父结点的值总是大于孩子结点 图示(以树为魂,以数组为形) 逻辑表示( ...
分类:
编程语言 时间:
2020-03-21 20:58:40
阅读次数:
82
面试官的看法:知识广度不错,深度不够。 1.堆排序过程 2.二叉树第k层结点和 3.队列中的最大值 4.http和https 5.opengl画?、着色器、渲染 6.对称加密和非对称加密 7.传输层tcp协议如何保证可靠传输? 8.三次握手过程,2次为什么不可以? 9.学过什么设计模式?懒汉模式和饿 ...
分类:
其他好文 时间:
2020-03-21 18:10:15
阅读次数:
559
1.排序基本知识 1.1初始排序 1.2十大排序算法 2.冒泡排序(Bubble Sort) 2.1Baseline static void bubbleSort1(Integer[] array) { for (int end = array.length - 1; end > 0; end--) ...
分类:
编程语言 时间:
2020-03-21 16:15:14
阅读次数:
62
快速排序思想:在partition中,首先以最右边的值作为划分值x,分别维护小于x的区间,等于x的区间,以及大于x的三个区间,最后返回划分值的左边界和右边界.时间复杂度为O(nlogn).publicclassQuickSort{publicstaticvoidquickSort(int[]arr){if(arr==null||arr.length<2)return;sortProgress
分类:
编程语言 时间:
2020-03-20 11:01:14
阅读次数:
61
常见排序算法 编写代码并测试了5种排序算法 有冒泡排序,选择排序,插入排序,堆排序,归并排序. 下面也给出了代码在机器上的运行结果,虽然不同机器结果会不一样,但是仍然能够比较直观地感受到这些算法的区别,以及理论与实现之间的差距. ...
分类:
编程语言 时间:
2020-03-18 23:50:44
阅读次数:
78
https://blog.csdn.net/guoweimelon/article/details/50904231 ...
分类:
编程语言 时间:
2020-03-18 11:58:23
阅读次数:
91
@[toc] 插入排序 二分插入排序 选择排序 选择排序 冒泡排序 快速排序 堆排序 归并排序 桶排序 计数排序 ...
分类:
编程语言 时间:
2020-03-18 09:53:29
阅读次数:
66
前言 工作已经有一段时间了,有的时候会跟同事们打趣:“ 如果你让我现在去手写一个快速排序,我怕是真的写不出来 ”。 如果不接触一段时间的算法,真的很容易就忘了。不信?你现在想想你自己能不能手写一个堆排序。 经历过校招的人都知道, 算法和数据结构 都是不可避免的。 在笔试的时候,最主要的就是靠算法题。 ...
分类:
编程语言 时间:
2020-03-16 14:32:48
阅读次数:
69