- 分享
25.01.15 算法 - 黄老师: 排序
- 2025-1-15 15:57:08 @
算法
算法意义
我们可以把一个程序看作是一个黑箱,从功能角度来说,只要这个黑箱能够根据我的输入得到我的输出,就是一个基本”正确“的程序;
除了功能性以外,对于程序员或公司有时更看重算法的时间效率和空间效率:
阿里巴巴支付宝用户假设有13亿, 它会将这些用户数据一条条记录在数据库中。
你是一名应聘阿里巴巴的后端程序员,面试官考察了你一道题目:
请你将用户做一份资产从大到小的排序,用于反馈资产存款前10000名的用户一瓶茅台。
你只了解
选择排序
和冒泡排序
, 而边上的小王选择了快速排序
;你的算法可能运行了1小时, 而小王的算法可能只运行了2分钟,
在时间背后的更是经济, 一台服务器运行1小时的程序和运行2分钟的程序, 时间占用、散热等等会影响公司的支出,
最后可想而知, 公司会录用小王。
Hello 算法: https://www.hello-algo.com/chapter_sorting/
一段使用lambda
匿名函数实现自定义排序规则的程序:
d = {'rxy': [2430, 170], 'qrx': [2430,168], 'njw': [2431, 175], 'lgh': [2430,175], 'yj': [2430,180]}
print(sorted(d.items(), key = lambda item:(item[1][1], item[1][0])))
'''
lambda
('qrx', [2430, 168]) -> (168, 2430)
('rxy', [2430, 170]) -> (170, 2430)
('njw'). -> (175, 2431)
('lgh'). -> (175, 2430)
'''
0 条评论
目前还没有评论...