【数据挖掘重要笔记day10】numpy练手题+归并排序法+插入排序法+希尔排序法+快速排序法+冒泡排序法

这篇博客通过23个实例详细介绍了numpy库的数组创建、操作以及四种排序算法(冒泡、快速、希尔、插入、归并)的实现,旨在巩固Python中数据结构和排序算法的理解。
摘要由CSDN通过智能技术生成

文章目录

1、创建一个长度为10的一维全为0的ndarray对象,然后让第5个元素等于1

import numpy as np
a = np.zeros(shape=10,dtype='int8')
a

array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0], dtype=int8)
a[4]=1
a
array([0, 0, 0, 0, 1, 0, 0, 0, 0, 0], dtype=int8)

2、创建一个元素为从10到49的ndarray对象

b = np.arange(10,50)
b
array([10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
       27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
       44, 45, 46, 47, 48, 49])

3、将第2题的所有元素位置反转

b
array([10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
       27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
       44, 45, 46, 47, 48, 49])
b[::-1]
array([49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33,
       32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16,
       15, 14, 13, 12, 11, 10])

4、使用np.random.random创建一个10*10的ndarray对象,并打印出最大最小元素

c = np.random.random(size=(10,10))
c
array([[0.12093975, 0.3267446 , 0.32511303, 0.98392747, 0.13484395,
        0.37976155, 0.92266309, 0.51045066, 0.94734899, 0.27013075],
       [0.22105076, 0.55577113, 0.0953467 , 0.02715877, 0.58898711,
        0.94926978, 0.37500521, 0.93043798, 0.43872141, 0.46909585],
       [0.33902826, 0.57696865, 0.16706052, 0.46399826, 0.79887315,
        0.87696158, 0.46389537, 0.31834363, 0.62135635, 0.96444487],
       [0.01753888, 0.89872472, 0.95394932, 0.04530442, 0.4804764 ,
        0.90437561, 0.18184513, 0.87611216, 0.76307676, 0.59577148],
       [0.88609283, 0.57264267, 0.06456211, 0.55960739, 0.05683746,
        0.28712179, 0.82489792, 0.3433044 , 0.08050466, 0.87076249],
       [0.0720682 , 0.78059738, 0.51433292, 0.91360016, 0.11120904,
        0.69357684, 0.92410724, 0.94424784, 0.61191778, 0.22802597],
       [0.23066127, 0.24275318, 0.7704362 , 0.47635963, 0.82819756,
        0.34623774, 0.87064341, 0.35837979, 0.71846938, 0.75084529],
       [0.24568906, 0.49863974, 0.6156872 , 0.86632902, 0.70506218,
        0.82317306, 0.17853396, 0.52638784, 0.49587969, 0.10768218],
       [0.87062351, 0.14262037, 0.69633587, 0.01229725, 0.25732244,
        0.63462171, 0.058154  , 0.67631851, 0.35825579, 0.48992349],
       [0.38399769, 0.87204559, 0.77859537, 0.22979291, 0.15440065,
        0.40481701, 0.01454451, 0.53717479, 0.19480013, 0.70916041]])
cmax = c.max()
cmax
0.9839274727793249
cmin = c.min()
cmin
0.012297252184459095

5、创建一个10*10的ndarray对象,且矩阵边界全为1,里面全为0

d = np.zeros(shape = (10,10),dtype='int8')
d
array([[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0, 0, 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值