【读书笔记】数据结构与算法js描述-链表实现

本文深入探讨了链表数据结构的原理与应用,对比数组,链表提供了更灵活的元素添加与删除方式。通过Node与LinkedList两个类的定义,详细介绍了如何在链表中插入、删除节点,并展示了链表元素的遍历过程。
 

 
6.1 // 数组的缺点:1. 很多编程语言中,数组的长度是固定的 2. 添加、删除元素比较麻烦 3. js中的数组被实现成为对象,与其他语言相比,效率很低

6.2 // 定义链表
// 链表是由一组节点组成的集合。每个节点都使用一个对象的引用指向它的后继,指向另一个节点的引用叫做链

6.3 // 我们设计的链表包含两个类,node类用于表示节点, LinkedList类提供了插入节点,删除节点,显示列表元素的方法,以及其他一些辅助方法

// Node 类

function Node(ele) {
this.ele = ele; // 用来保存节点上的数据
this.next = null; // 保存指向下一个节点的连接,初始化为null
}

// LinkedList类

function LList() {
this.head = new Node('head'); // 存储链表的头节点
// this.find = find; // 查找节点
// this.insert = insert; // 插入节点
// this.remove = remove; // 删除节点
// this.display = display;
}
// 插入新节点前要先find()
LList.prototype.find = function(item) {
var currNode = this.head;
while (currNode.ele != item) {
currNode = currNode.next;
}
return currNode;
}

LList.prototype.insert = function(newElement, item) {
// 新建插入的节点
var newNode = new Node(newElement);
// 寻找要插入的节点位置
var current = this.find(item);
// 修改新节点指向
newNode.next = current.next;
// 修改老节点指向
current.next = newNode;
}

LList.prototype.display = function() {
var currentNode = this.head;
while (!(currentNode.next == null)) {
console.log(currentNode.next.ele);
currentNode = currentNode.next;
}
}

LList.prototype.findPrevious = function (ele) {

}

LList.prototype.remove = function(targetEle) {
// 根据传入节点 获取链表上的节点值
var cur = this.find(targetEle);
// 下一个节点值
var nextNode = cur.next
// 需要找到这个元素的上一个元素 上一个元素的this.next 一定是targetEle
var currNode = this.head;
while (currNode.next != cur) {
currNode = currNode.next;
}
currNode.next = nextNode;
}

// var cities = new LList();
// cities.insert('Conway', 'head');
// cities.insert('Russellville', 'Conway');
// cities.insert("Alma", "Russellville");
// cities.remove('Conway')
// cities.display()

 

需求响应动态冰蓄冷系统需求响应策略的优化研究(Matlab代码实现)内容概要:本文围绕需求响应动态冰蓄冷系统及其优化策略展开研究,结合Matlab代码实现,探讨了在电力需求侧管理背景下,冰蓄冷系统如何通过优化运行策略参需求响应,以实现削峰填谷、降低用电成本和提升能源利用效率的目标。研究内容包括系统建模、负荷预测、优化算法设计(如智能优化算法)以及多场景仿真验证,重点分析不同需求响应机制下系统的经济性和运行特性,并通过Matlab编程实现模型求解结果可视化,为实际工程应用提供理论支持和技术路径。; 适合人群:具备一定电力系统、能源工程或自动化背景的研究生、科研人员及从事综合能源系统优化工作的工程师;熟悉Matlab编程且对需求响应、储能优化等领域感兴趣的技术人员。; 使用场景及目标:①用于高校科研中关于冰蓄冷系统需求响应协同优化的课题研究;②支撑企业开展楼宇能源管理系统、智慧园区调度平台的设计仿真;③为政策制定者评估需求响应措施的有效性提供量化分析工具。; 阅读建议:建议读者结合文中Matlab代码逐段理解模型构建算法实现过程,重点关注目标函数设定、约束条件处理及优化结果分析部分,同时可拓展应用其他智能算法进行对比实验,加深对系统优化机制的理解。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值