二、算法分析2.2 什么是算法分析大O表示法image.png2.3 python数据结构的性能列表image.png字典image.png说一下list[index]的o(1)原理,dict是散列表形式,访问函数是o(1)很容易理解。但实际上list的访问函数我认为也是一种“散列表”,或者直接是额外空间的赋值存在。即在原始的线性结构(链表)外,为了能够快速访问(毕竟索引是最必须和高频的函数)而采
一、几种基本排序算法1、冒泡class pop: def __init__(self,val): self.val=list(val) def g
原创 2023-04-12 11:31:36
67阅读
排序排序算法(英语:Sorting algorithm)是一种能将一串数据依照特定顺序进行排列的一种算法。排序算法的稳定性稳定性:稳定排序算法会让原本有相等键值的纪录维持相对次序。也就是如果一个排序算法是稳定的,当有两个相等键值的纪录R和S,且在原本的列表中R出现在S之前,在排序过的列表中R也将会是在S之前。 假设以下的数对将要以他们的第一个数字来排序。(4, 1) (3, 1) (3, 7)
转载 2023-06-07 10:38:21
124阅读
  在一次面试当中,面试官问到了自己关于堆排序的一些细节,之前在整理各种高级排序的时候,有看过堆排序,然而在现场要给面试官讲解排序原理的时候,发现自己懵逼了,所以还是需要特地写一篇随笔来记录堆排序的整个原理和过程,这里借鉴了百度知道里头的堆排序的讲解图。  首先我们要了解什么是堆排序,其排序的时间复杂度为O(nlogn),且不会因为排序的数组的数据恶化,但需要提供额外的排序内存。这里的堆当中,常
数据结构--排序
在待排序的文件中,若存在多个关键字相同的记录,经过排序后这些具有相同关键字的记录之间的相对次序保持不变,该排序方法是稳定的;若具有相同关键字的记录之间的相对次序发生改变,则称这种排序方法是不稳定的。即所有相等的数经过某种排序方法后,仍能保持它们在排序之前的相对次序,则说这种排序算法是稳定的,反之,就是不稳定的。   稳定的排序算法如下表所示:  &
转载 精选 2014-11-27 01:02:04
631阅读
数据结构--排序
原创 2021-07-15 11:00:37
120阅读
排序中的内容:http://student.zjzk.cn/course_ware/data_structure/web/paixu/paixu8.1.1.1.htm
q
原创 2023-05-23 08:08:56
74阅读
package sort; import java.util.Random; public class Sort {  public static void main(String[] args){   Sort s=new Sort();    int[] array=s.createArray();  &nbsp
原创 2012-07-16 09:12:01
555阅读
#include #include #define MAX 50 int slist[MAX]; /*待排序序列*/ void XierSort(int list[], int n); void insertSort(int list[], int n); void createList(int list[], int *n); void printList(int list[],...
转载 2018-12-11 20:53:00
32阅读
2评论
插入排序、交换排序、选择排序、基数排序、归并排序各种排序算法的比较
排序算法的评价指标 时间复杂度 空间复杂度 稳定性:排序表中相同的两个元素经过该排序算法时无论怎样,排序后这两个元素的相对位置始终没有变化,则称这个排序算法是稳定的;否则为不稳定的。 (稳定算法不一定比不稳定的算法好) 排序算法的分类 内部排序数据都在内存中。(注重更低的时间、空间复杂度) 外部排 ...
转载 2021-10-02 21:46:00
110阅读
2评论
空间复杂度是O(1),代表其算法所
数据表(dataList):待排元素的集合。 排序码(key):排序的关键字。 排序的稳定性:若相等的两个元素经过排序后顺序仍不变则称排序算法是稳定的。 一个b站学习视频 #一、快速排序 (一)原理 选择一个元素作为基准元素,将小于基准元素的都放在其左边,将大于基准元素的都放在其右边。这样序列就被划
转载 2020-06-24 20:12:00
90阅读
2评论
一。排序1.排序定义:将一组杂乱无章的数据按一定规律顺次排列起来。即,将无序序列排成一个有序序列(由小到大或由大到小)的运算。2.排序的分类(1)按数据存储介质;内部排序和外部排序内部排序:数据量不大、数据在内存,无需内外存交换数据外部排序:数据量较大、数据在外存(文件排序)外部排序时,要将数据分批调入内存来排序,中间结果还要及时放入外存,显然外部排序要复杂得多。(2)按比较器个数:串行排序和并行
原创 2022-01-06 19:54:16
337阅读
数据结构——冒泡排序1. 概念排序: 将一组无序的记录序列调整为有序的记录序列列表排序: 将无序列表变为有序列表Python内置排序函数: sort()常见排序算法排序LOW B 三人组: 冒泡排序、选择排序、插入排序排序NB三人组: 快速排序、堆排序、归并排序其他排序: 希尔排序、计数排序、基数排序… 2. 冒泡排序<1> 概念:    列表每两个相邻的数,如果前面比后面大,则交换这两个数一趟排序完成后,则无序区减少
原创 2021-09-02 16:06:01
187阅读
//希尔排序法--插入排序升级版 #include #include #include #include /* 强调:网上,书上的希尔排序法都有问题 希尔排序并非按一个增量d,将一个数组分成若干小的数组,对每个数组进行插入排序, 真正的希尔排序步骤 第一步,通过业界常规 d = 数组长度 / 3 + 1; 求出增量d 第二步:取数组第一个元素,按照增量d的间隔 组成一个新的数组,对这个数组...
转载 2016-08-07 20:30:00
148阅读
2评论
//排序--选择排序法 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<time.h> /* 选择排序(Selection sort)是一种简单直观的排序算法。 它的工作原理是每一次从待排序数据元素中选出最小(或最大
转载 2016-08-05 13:55:00
191阅读
2评论
TOPN算法排序,堆排序
转载 2017-07-16 11:18:00
103阅读
2评论
//排序--快速排序法 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<time.h> /* 快速排序 它的基本思想是:通过一趟排序将要排序数据分割成独立的两部分, 其中一部分的所有数据都比另外一部分的所有数据都要小
转载 2016-08-07 10:30:00
179阅读
2评论
  • 1
  • 2
  • 3
  • 4
  • 5