sql简单练习语句
排序是每个软件工程师和开发人员都需要掌握的技能。不仅需要通过编程面试,还要对程序本身有一个全面的理解。不同的排序算法很好地展示了算法设计上如何强烈的影响程序的复杂度、运行速度和效率。

排序有很多种实现方法,比如冒泡排序、选择排序、归并排序、希尔排序、快速排序、插入排序、堆排序、基数排序等,今天就给大家介绍使用Python语言实现的其中4个排序算法。
1. 快速排序

首先要打乱序列顺序 ,以防算法陷入最坏时间复杂度。快速排序使用“分而治之”的方法。
对于一串序列,首先从中选取一个数,凡是小于这个数的值就被放在左边一摞,凡是大于这个数的值就被放在右边一摞。然后,继续对左右两摞进行快速排序。
直到进行快速排序的序列长度小于 2 (即序列中只有一个值或者空值)。
def quicksort(seq):
if seq == []:
return []
else:
one = seq[]
two = quicksort([l for l in seq[:] if l < one])
three = quicksort([m for m in seq[:] if m >= one])
return two + [one] + three
paixu = quicksort([,,,,,,,,,])
print('快排:',paixu)
# 快排: [, , , , , , , , , ]

2. 冒泡排序

冒泡排序(顺序形式),从左向右,两两比较,如果左边元素大于右边,就交换两个元素的位置。
其中,每一轮排序,序列中最大的元素浮动到最右面。也就是说,每一轮排序,至少确保有一个元素在正确的位置。
这样接下来的循环,就不需要考虑已经排好序的元素了,每次内层循环次数都会减一。
其中,如果有一轮循环之后,次序并没有交换,这时我们就可以停止循环,得到我们想要的有序序列了。
def bouble_sort(seq):
count = len(seq)
for i in range(,count):
for j in range(i + ,count):
if seq[i] > seq[j]:
seq[i],seq[j] = seq[j],seq[i]
return seq
paixu = bouble_sort([,,,,,,,,,,])
print('冒泡排序:',paixu)
# 冒泡排序: [, , , , , , , , , , ]

3. 选择排序

选择排序,每次选择当前序列的最小值,将其与当前序列的第一个元素交换位置,每迭代一次,当前序列长度减一。迭代结束,即可得到有序序列。
def select_sort(seq):
for i in range(len(seq)-):
x=i
for j in range(i,len(seq)):
if seq[j] < seq[x]:
x=j
seq[i],seq[x] = seq[x],seq[i]
return seq
paixu = select_sort([,,,,,,,,,,])
print('选择排序:',paixu)
# 选择排序: [, , , , , , , , , , ]

4.插入排序

插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。
插入算法把要排序的数组分成两部分:第一部分包含了这个数组的所有元素,但将最后一个元素除外(让数组多一个空间才有插入的位置),而第二部分就只包含这一个元素(即待插入元素)。在第一部分排序完成后,再将这个最后元素插入到已排好序的第一部分中。
def insert_sort(list):
for i in range(len(list)):
for j in range(i):
if list[i]<list[j]:
list.insert(j,list.pop(i))
break
return list list = insert_sort([,,,,,,,,])
print('插入排序:',list)
# 插入排序: [, , , , , , , , ]

以上,就是我们今天所讲的4种Python排序方法,不知道你学会了吗?快动手练习练习吧~
sql简单练习语句的更多相关文章
- sql简单的语句
选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delet ...
- SQL 简单查询语句 select
select *from emp;//查询emp表内容
- MVC 学习(二)之Linq to Sql 简单Demo
Linq to Entities 已经我的一篇博文中阐述了,这里阐述一下简单的Linq to Sql 的增删改查.Linq to sql 与Linq to Entities虽然同属于DataBase- ...
- SQL数据库基本语句
SQL特点--> 1)综合统一.SQL是集数据定义.数据操作和数据控制于一体,语言峰峰统一,可独立完成数据库生命周期的所有活动. 2)高度非过程化.SQL语言是高度非过程化语言,当进行数据操作时 ...
- 面试必须要知道的SQL语法,语句
面试必须要知道的SQL语法,语句 收藏 asc 按升序排列desc 按降序排列下列语句部分是Mssql语句,不可以在access中使用.SQL分类: DDL—数据定义语言(Create,Alter,D ...
- Mybatis动态SQL简单了解 Mybatis简介(四)
动态SQL概况 MyBatis 的强大特性之一便是它的动态 SQL 在Java开发中经常遇到条件判断,比如: if(x>0){ //执行一些逻辑........ } Mybatis应用中,S ...
- SQL中查询语句的使用
常用SQL查询语句 - myLittleGarden - 博客园 http://www.cnblogs.com/sunada2005/p/3411873.html 一.简单查询语句 1. 查看表结构 ...
- SQL Sever查询语句集锦
一. 简单查询简单的Transact-SQL查询只包括选择列表.FROM子句和WHERE子句.它们分别说明所查询列.查询的表或视图.以及搜索条件等. 例如,下面的语句查询testtable表中姓名为“ ...
- SQL学习——基础语句(1)
简序 1.SQL,指结构化查询语言,全称是 Structured Query Language. 2.SQL 让您可以访问和处理数据库. 3.SQL 是一种 ANSI(American Nationa ...
随机推荐
- Numerical Testing Reportes of A New Conjugate Gradient Projection Method for Convex Constrained Nonlinear Equations
Numerical Testing Reportes of A New Conjugate Gradient Projection Method for Convex Constrained Nonl ...
- Elementui_day01,基础
Elementui_day01 1. 安装 npm i element-ui -S 2. 引入 import ElementUI from 'element-ui'; import 'element- ...
- Android实战项目——家庭记账本(四)
今天是开发的第四天,完成的主要内容如下: 1.账单查询功能的完善以及查询结果的显示和编辑 2.侧边栏布局的实现 3.首页fragment中本月与上月对比账目情况 实现的效果如图: 已添加的账单内容以及 ...
- webpack安装jQuery报错
使用webpack搭建项目,并使用了node下载了jQuery使用,使用命令行完成构建时发现报错了, ERROR in ./node_modules/jquery/lib/node-jquery.js ...
- Interger对象不要用==进行比较
为了更好的空间和时间性能,Integer会缓存频繁使用的数值,数值范围为-128到127,在此范围内直接返回缓存值. IntegerCache.low 是-128,IntegerCache.high是
- Jquery基础(动画效果的轮播图特效)
jquery文档准备的三种写法: $(document).ready(function() { }); $().ready(function() { }); $(function() { }); jq ...
- [CTSC2008]网络管理 [树剖+整体二分]
这题的复杂度可以到达惊人的\(\log^4\)据说还能跑过去(差点没吓死我 直接二分+树剖树套树(\(n \log^4 n\)) 一个\(\log\)也不少的4\(\log\) 但是我有个\(\log ...
- 一道有趣的for循环题
一道有趣的for循环题 今天在复习js基础知识时发现了一个for循环的题,第一眼看到直接懵逼了,没想到for循环竟然还可以这样玩?涨姿势了. 题目是这样的 for(i=0, j=0; i<10, ...
- Linux网络课程学习第三天
第三天在线视频学习. 学习内容:继续详细介绍了第二章节 Linux常用命令的使用方法. 学习感受:万事开头难,作为Linux零基础的我相信在这本书学完之后会有所收获. 学习心得:记住刘老师的一句口头禅 ...
- 关于IO板的输出(Do的写入)
IO板的输入输出遵循MODBUS协议 1.单个DO开关量寄存器写入-功能码05 例子-打开信道3 01 05 00 02 00 00 CD CA 01 从机地址(由io的配置文件决定) 05 功能码 ...