自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 《算法导论》P145 散列表中的链表是双向链接的,为什么删除一个元素x的操作可以在O(1)时间内完成?

如果表是单链接的,则为了删除元素x,我们首先必须在表T[h(x.key)]中找到元素x,然后通过更改x前驱元素的next属性,把x从链表中删除。在单链表情况下,删除和查找操作的渐近运行时间相同。如果散列表中的链表是双向链接的,那么要删除一个元素,可以直接将x指向的对象的前驱指针指向的对象的后驱指针链接到x后一个对象,将x指向的对象的后驱指针指向的对象的前驱指针链接到x的前一个对象。然而,如果是单链表的话,一般情况下需要遍历链表来找到x所指向的对象的前一对象,如此一来,时间复杂度就变为了O(n)。

2023-08-04 13:58:28 104

原创 Java抽象类

通过定义抽象方法,抽象类可以强制子类实现特定的方法,从而确保子类具有特定的行为。抽象类可以作为多态的基础,通过抽象类的引用,我们可以处理不同子类对象,而无需关心具体的子类类型。通过抽象类,我们可以定义共享的方法和属性,并约束子类实现特定的方法。在设计和开发过程中,抽象类是一种有力的工具,可以帮助我们建立良好的继承关系,实现代码的灵活性和可扩展性。通过抽象类的引用,我们可以指向具体子类的对象,从而实现不同对象的统一处理。抽象类不能被直接实例化,但可以通过多态的方式,创建抽象类的非抽象子类的实例。

2023-05-26 15:32:14 56 1

原创 Java多态

方法重载指的是在一个类中定义多个方法名相同但参数不同(即签名不同)的方法,这些方法在调用时会根据参数的不同而产生不同的行为。方法重写指的是子类重写父类的方法,使得子类对象在调用该方法时能够呈现出自己的特征。例如,动物类中有一个 eat() 方法,狗类可以重写这个方法,使得它能够吃骨头,猫类可以重写这个方法,使得它能够吃鱼。通过多态,我们可以让不同的对象都能够响应相同的消息,从而简化了程序的设计和实现。总的来说,多态是面向对象编程的一个重要概念,它允许我们在不知道对象具体类型的情况下,对它们进行操作。

2023-05-04 21:54:43 68 1

原创 【学习】Python对于数据进行曲线拟合计算多项式方程

说得直观一点,就是将平面上的一些散点拟合为一条最为接近的曲线,获得曲线方程,从而可以通过输入其他x坐标的值实现对结果值的预测。如图,这是简单的一元线性回归模型,训练数据包含X和Y两组,其中X中的数据表示学生在作业上投入的时间,Y中的数据表示学生的作业成绩,X和Y中的数据是一一对应的。笔者使用最小二乘回归拟合训练数据中X与Y的关系。

2022-10-23 15:44:50 3381

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除