继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【学习打卡】第7天 数据结构之“链表”

风吹尘
关注TA
已关注
手记 61
粉丝 9
获赞 1

课程名称:JavaScript版数据结构与算法
课程章节:第5章 数据结构之“链表”
主讲老师:lewis

课程内容:

今天学习的内容包括:
5-8 前端与链表:使用链表指针获取 JSON 的节点值——JavaScript中没有链表,可以使用Object实现。
5-9 链表-章节总结——链表在JavaScript中的使用。
5-10 【勤于思考,夯实学习成果】阶段思考题——实现阶段性思考题。

课程收获:

使用链表指针获取 JSON 的节点值

1、链表可以使用Object实现
2、根据链表找到最终值

const json = {
  a: { b: { c: 1 } },
  d: { e: 2 },
}

const path = ['a', 'b', 'c']

let p = json
path.forEach(key => {
  p = p[key]
})

章节总结

1、JS 中的原型链也是一个链表
2、使用链表指针可以获取 JSON 的节点值

编写一个 instanceOf 方法,可以判断一个变量是否是另一个变量的实例。

1、根据以往学习知识进行编写尝试
2、通过变量的原型链进行判断

const instanceOf = (A,B) => {
  let p = A
  while(p){
    if(p === B.prototype){ 
      return true
    }
    p = p.__proto__
  }
  return false
}

let a = 1
let b = Number

console.log(instanceOf(a,b));
console.log(instanceOf(b,a));

回文链表

1、判断单链表是否为回文链表

/**
 * @param {ListNode} head
 * @return {boolean}
 */
var isPalindrome = function(head) {
     const vals = [];
    while (head !== null) {
        vals.push(head.val);
        head = head.next;
    }
    for (let i = 0, j = vals.length - 1; i < j; ++i, --j) {
        if (vals[i] !== vals[j]) {
            return false;
        }
    }
    return true;
};

通过对链表的学习,对原型链等有了一定的深入了解,对JavaScript算法有了更大的爱好,希望自己快速将算法学习完,对自己说一句,加油😀~

坚持打卡,坚持学习!明天见💪~

http://img3.mukewang.com/62f3a0f200013a1019200892.jpg

http://img2.mukewang.com/62f3a1620001bf2d19200892.jpg

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP