数据项的比较 比较算法

比较数据项

二叉搜索和搜索最小的项,都是基于列表中的数据是可以相互比较的。也就是说python中的这类数据具有相同的类型。并且他们都是识别运算符 ==、<和>的


为了允许算法对一个新对象的类使用比较运算符,就应该在该类中定义__eq__、__lt__和__gt__这样的方法。

例如SavingsAccount对象可能包含三个数据字段。一个用于名称,一个用于PIN,还有一个用于余额。假设账户的名称可以按照账户名称的字母来排序,那么就需要对__lt__方法通过以下的方式来实现:

class SavingsAccount(object):
	"""这是一个用来储存账户名、Pin和余额的类"""
	def __init__(self,name,pin,balance=0.0):
		#初始化实例变量,实例变量都有一个前缀是_
		self._name=name
		self._pin=pin
		self._balance=balance

		#注意构造方法就是当运行< 的时候,会自动的运行__lt__
	def __lt__(self,other):
		return self._name<other._name

二叉搜索

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值