分享我“Excel 表格”关键字的博客笔记(python脚本全程自动)

Python脚本全程自动,全部Python内建工具脚本纯净。


(笔记模板由python脚本于2024年10月05日 19:51:06创建,本篇笔记适合喜欢Excel和Python的coder翻阅)


【学习的细节是欢悦的历程】

  • Python 官网:https://www.python.org/

  • Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单……
    地址:https://lqpybook.readthedocs.io/


  自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。
            —— 华罗庚


  • My CSDN主页、My HOT博、My Python 学习个人备忘录
  • 好文力荐、 老齐教室
等风来,不如追风去……


python脚本全程自动
分享特定博客笔记
(全部python内建工具脚本纯净)


本文质量分:

96 96 96

本文地址: https://blog.csdn.net/m0_57158496/article/details/142718181

CSDN质量分查询入口:http://www.csdn.net/qc


目 录

  • ◆ 分享“Excel 表格”关键字博客
    • 1、目录、文件
    • 2、程序说明
    • 3、代码导读
    • 4、完整源码(Python)



效果链接: 我关于Excel使用点滴的笔记 https://blog.csdn.net/m0_57158496/article/details/140040251


◆ 分享“Excel 表格”关键字博客


1、目录、文件


  • 输出文件及目录
    在这里插入图片描述

  • 发文数据样式
    在这里插入图片描述

  • 发文数据文件
    在这里插入图片描述

  • head、tail
    在这里插入图片描述

  • 脚本和模板
    在这里插入图片描述

  • 模板文本
    在这里插入图片描述

  • 我的热博
    在这里插入图片描述



回页目录


2、程序说明


程序名称: “Excel 表格”关键字的博客笔记自动分享工具


关键字处理说明:

  1. 关键字筛选: 程序中的关键字是预定义的,并非从博客内容中提取。关键字是"Excel 表格",程序会根据这个关键字筛选出包含该关键字的博客笔记发布数据。

  2. 收集博文ID: 程序会遍历指定年份的博客笔记发布数据文件(例如csdn_2021_publishFootprint.txt),查找每行数据中是否包含预定义的关键字。如果包含,则收集该行的博文ID。

  3. 数据提取: 对于每篇包含关键字的博文,程序会进一步提取其ID,以及其他相关的信息,如标题、摘要、发布日期等。

  4. 统计与排序: 程序会根据收集到的博文ID,通过网络请求获取每篇博文的阅读量等数据,并对这些数据进行统计和排序,以便生成按阅读量降序排列的列表。


以下是关键字处理部分的代码示例:


def get_key_ids():''' 获取博文id总列表 '''#from time import localtime # 确保方法已载入keys = 'Excel 表格'text_id = []for year in range(2021, localtime().tm_year+1): # 循环读取博文笔记id。with open(f"{my_datapath}csdn_{year}_publishFootprint.txt") as f:text_id.extend(f.read().split('\n')[2:]) # 去除前两行数据。ids = [] # 要查找的博文笔记id列表初值for key in keys.split():ids.extend([(i.split('\\')[2], i.split('\\')[-2]) for i in text_id if key in i]) # 追加通过关键字找到的idids = set(ids) # 集合去重   print(f"\n{f' 已收集到{len(ids)}条博文笔记id ':.^33}\n")return ids

  在这段代码中,keys.split()将预定义的关键字拆分成单词列表,然后程序会检查每行数据是否包含这些关键字中的任何一个。如果包含,就将该行的博文ID和相关数据添加到列表中。这样,最终得到的ids列表就包含了所有包含关键字的博文ID及其相关信息。



回页目录


3、代码导读


  本指南旨在帮助读者理解一个自动化Python脚本的工作原理,该脚本专注于处理CSDN博客中的特定内容,并将其以有序的方式展示出来。


脚本目的:

  • 提取CSDN博客中包含“Excel 表格”关键字的博文。
  • 根据博文的阅读量进行降序排序。
  • 生成一个HTML文件,其中包含了按阅读量排序的博文链接。

脚本概述:


  1. 模块导入:
    • time模块:用于生成时间戳和格式化日期时间。
    • urllib.request:用于发送网络请求获取数据。
    • re:用于通过正则表达式解析数据。
    • traceback:用于异常追踪和错误报告。

  1. 主要功能模块:

    a、时间处理:

    • time_stamp():生成唯一的时间戳,用于输出文件的命名。
    • my_strftime():自定义日期时间格式化,提升输出文件的可读性。(可选功能,增加用户体验)


    b、程序执行提示:

    • tip_runing():显示程序正在运行的提示信息。


    c、数据提取与处理:

    • 从CSDN博客获取数据,并使用正则表达式提取所需信息。
    • get_ids():读取并筛选出包含关键字的博文ID列表。


    d、排序与输出:

    • read_sort():根据阅读量对博文进行排序。
    • str_url():构建博文的URL超链接,并通过颜色标识不同阅读量区间。
    • write_choice_key():将排序后的博文信息写入HTML文件。


    e、主逻辑:

    • main():串联整个程序的执行流程,包括时间戳生成、数据读取、排序和HTML文件写入。
    • 异常处理:捕获并记录程序运行中可能出现的错误。


    f、异常处理:

    • 使用try-except结构来管理异常,确保程序的健壮性。


    g、程序入口:

    • 确保脚本直接运行时,main()函数会被调用。

  2. 使用说明:

    • 确认数据文件路径my_datapath和URL前缀my_urlroot的正确性。
    • 确保网络连接稳定,以便脚本能够正常执行。
    • 根据CSDN页面结构的变化,适时更新正则表达式。



回页目录


4、完整源码(Python)

(源码较长,点此跳过源码)

#!/sur/bin/nve python
# coding: utf-8
from time import time
from time import strftime
from time import localtime 
import urllib.request
from re import findall
import traceback my_datapath = '/sdcard/Documents/csdn/' # 数据路径。
my_urlroot = 'https://blog.csdn.net/m0_57158496/article/details/' # 笔记id前缀。time_stamp = lambda: ''.join([f"{i:0>2}" for i in localtime()[2:6]]) # 时间戳(日时分秒)。
my_strftime = lambda: strftime('%Y年%m月%d日 %H:%M:%S', localtime())def tip_runing():''' “程序正在运算……”提示函数 '''#from time import time # 请在调用脚本开始前加载time.timek = int(str(time())[-2:])%26print(' '*40, end='\r')print(f"{' '*k}{'程序正在运算……'}", end='\r')def get_key_ids():''' 获取博文id总列表 '''#from time import localtime # 确保方法已载入keys = 'Excel 表格'text_id = []for year in range(2021, localtime().tm_year+1): # 循环读取博文笔记id。with open(f"{my_datapath}csdn_{year}_publishFootprint.txt") as f:text_id.extend(f.read().split('\n')[2:]) # 去除前两行数据。ids = [] # 要查找的博文笔记id列表初值for key in keys.split():ids.extend([(i.split('\\')[2], i.split('\\')[-2]) for i in text_id if key in i]) # 追加通过关键字找到的idids = set(ids) # 集合去重   print(f"\n{f' 已收集到{len(ids)}条博文笔记id ':.^33}\n")return idsdef get_readed(blog_id: str) -> zip:''' 获取博文阅读量等数据 '''with urllib.request.urlopen(f"{my_urlroot}{blog_id}") as reponse:html_doc = reponse.read().decode('utf-8').split('<li class="tool-item tool-item-bar">')[0] # urlparse模块方法拉取页面超文本,并截取数据文本,加快数据提取速度。fields = '浏览阅读', '标题', 'ID', '作者', '点赞', '收藏', '评论', '摘要', '首次发布', '最后编辑'author = findall(r'<span class="profile-name">\s*(.+)\s*</span>', html_doc) # 摘取作者。author = ''.join(author)article_title = findall(r'var articleTitle = "(.+)";', html_doc) # 摘取文章标题。article_title = ''.join(article_title)abstract = findall(r'var articleDesc = "(.*)";', html_doc) # 提取摘要。abstract = ''.join(abstract)for i in ['!', '……', '  '*2]:abstract = abstract.replace(i, i+'。') # 句末符号不为“。”+“。”,方便以“。”分割数据。abstract = abstract.split('。')[:2] # 以“。”分割并截取前两个字符串。abstract = abstract[-1] if abstract[-1] else ''.join(abstract) # 摘取有效摘要字符串。readed = findall(r'<span class="read-count">阅读量([\d.kw]*)</span>', html_doc) # 提取阅读量。readed = ''.join(readed)thumbs_up = findall(r'<span class="read-count" id="blog-digg-num">点赞数\s*([\d.kw]*)\s*</span>', html_doc) # 提取点赞数。thumbs_up = ''.join(thumbs_up)collect = findall(r'<span class="count get-collection " data-num="[\d\.wk]*" id="get-collection">\s*([\d\.wk]*)\s*</span>\s*</a>\s*<div class="tool-hover-tip collect">\s*<div class="collect-operate-box">\s*<span class="collect-text" id="is-collection">\s*收藏\s*</span>', html_doc) # 提取收藏数。collect = ''.join(collect)readed = readed if readed else '0'readed = round(float(readed[:-1])*1000, 0) if readed[-1] == 'k' else round(float(readed[:-1])*10000, 0) if readed[-1] == 'w' else round(readed, 0) # 三元操作语句嵌套还原阅读量为整型。comment = findall(r'<span class="count">\n\s*([\d\.kw]*)\n\s*</span>\n\s*</a>\n\s*<div class="tool-hover-tip"><span class="text space">评论</span></div>', html_doc) # 提取评论。comment = ''.join(comment)first_edit_time = ''.join(findall(r'<div class="up-time"><span>于&nbsp;([\d\s\-:]+)&nbsp;首次发布</span></div>', html_doc))reedit_time = ''.join(findall(r'<span class="time">已于&nbsp;([\s\d\-:]+)&nbsp;修改</span>', html_doc))datas = readed, article_title, blog_id, author, thumbs_up, collect, comment, abstract, first_edit_time, reedit_timereturn zip(fields, datas)def read_sort():''' 阅读量排序列表 '''start = time()ids = get_key_ids()readeds = []print('\n') # 打印空行。for i in ids:tip_runing()article_info = get_readed(i[0])article_info = {k: v for k,v in article_info if v and v!= '0'} # 剔除零值数据项,生成博文笔记浏览阅读等信息字典。if not article_info: # 浏览阅读数据为空,跳过本次遍历。continuefor i in ('\u2003', '&quot', '??????', '我的HOT博', '&msp' '&ensp;', 'python 3.6.6', 'coding:'): # 遍历删除无意义文章摘要。if i in article_info.get('摘要', ''):del article_info['摘要']breakelif len(article_info.get('摘要', '')) >= len(article_info.get('标题', '')):if article_info.get('摘要'):del article_info['摘要'] # 摘要不比标题标题长,删除摘要。break if article_info.get('作者'):del article_info['作者'] # 作者都是我自己,删除。readeds += [article_info]readeds.sort(reverse=True, key=lambda x: x.get('浏览阅读', 0)) # 按浏览阅读排降序。#print('\n\n'.join(map(str, readeds))) # 终端屏幕打印。S = time() - startS = f"{S//60:.0f}{S%60:.1f}秒" if S > 60 else f"{S%60:.1f}秒"return readeds, f"本次共计收集{len(readeds)}篇博文笔记信息,总阅读量{sum([i.get('浏览阅读', 0) for i in readeds])/10000:.2f}w。数据采集于{my_strftime()},用时{S}。"def str_url(article_info):''' 格式化文章阅读量信息 '''d = article_inforeaded = d.get('浏览阅读', 0)if not readed:url = f"{myUrlRoot}{d.get('ID', '')}"print(f"\n{url}")if readed >= 10000:color = 'gold'size = 5elif 8000 <= readed < 10000:color = 'purple'size = 4elif 6000 <= readed < 8000:color = 'scarlet'size = 4elif 5000 <= readed < 6000:color = 'red'size = 3elif 4000 <= readed < 5000:color = 'orange'size = 3elif 2000 <= readed < 4000:color = 'green'size = 3elif 1000 <= readed < 2000:color = 'cyan'size = 3elif 500 <= readed < 1000:color = 'blue'size = 3elif 100 <= readed < 500:color = 'black'size = 2else:color = 'gray'size = 2readed = f"{readed/10000}w" if readed >= 10000 else f"{readed/1000}k" if 1000 <= readed < 10000 else readed # 格式化千万浏览阅读量数值。url = f"{my_urlroot}{d.get('ID')}"thumbs_up = f"点赞:{d.get('点赞')}&emsp;" if d.get('点赞') else ''collect = f"收藏:{d.get('收藏')}&emsp;" if d.get('收藏') else ''comment = f"评论:{d.get('评论')}" if d.get('评论') else ''thumbs_ups = f"\n<br>{''.join([thumbs_up, collect, comment])}" if thumbs_up or collect or comment else '' abstract = f"\n<br>摘要:{d.get('摘要')}。" if d.get('摘要') else ''edit_time = f"\n<br>(本篇笔记于{d.get('首次发布')}首次发布,最后修改于{d.get('最后编辑')})" if d.get('首次发布') else ''return f"<a href='{url}' target=_blank>{d.get('标题')}</a>\n<br>地址:<a href='{url}' target=_blank>{url}</a>\n<br>浏览阅读:<font color='{color}' size={size}>{readed}</font>{thumbs_ups}<font color='gray' size=2>{abstract}{edit_time}</font>\n<br>&ensp;"def write_choice_key(key_readeds, filename):''' 写“关键字”博文链接 '''key_readeds = '\n'.join([f"<li>\n{str_url(i)}\n</li>" for i in key_readeds[0]]) # 排版记录索引数据key_readeds = f"\n\n&emsp;&emsp;{key_readeds[1]}\n\n<table><ol>\n{key_readeds}\n</ol></table>\n" # 格式化数据索引列表with open(f'{my_datapath}csdn_blogHead.txt', encoding='utf-8') as f:head = f.read() # 读取“固定”头部with open(f'{my_datapath}csdn_myHotBlog.txt', encoding='utf-8') as f:hot_blog = f.read() # 读取“我的热博”with open(f'{my_datapath}excel-blog-templet.fstr', encoding='utf-8') as f:f.readline() # 丢弃注释行templet = f.read() # 读取“Excel点滴”博文模板with open(f'{my_datapath}csdn_blogTail.txt', encoding='utf-8') as f:tail = f.read() # 读取“固定”尾部templet = templet.format(head=head, excel_blog_list=key_readeds, hot_blog=hot_blog, tail=tail) # 组合模板with open(filename, 'w') as f:f.write(templet) # 全文写入def main():''' 我的csdn博文被阅读量排序主函数 '''print(f"\n{f' {my_strftime()} ':~^39}\n")readeds = read_sort()    print(readeds[1])filename = f"/sdcard/Documents/csdn/temp/csdn{time_stamp()}choiceKey.txt"try:write_choice_key(readeds, filename)print(f"\n{f' ChoiceKey文本{filename}已保存。 ':~^24}\n")except Exception as error:print(f"\n错误类型:\n{error}\n")traceback.print_exc()print(f"\n{f' {my_strftime()} ':~^39}\n")if __name__ == '__main__':main() # 主程序调用。



回页首


上一篇:  命令行隐藏文件的手段(以“.”开头命名文件,我想应该是敲打代码最喜欢的方式)
下一篇: 



我的HOT博:

  本次共计收集 311 篇博文笔记信息,总阅读量43.82w。数据于2024年03月22日 00:50:22完成采集,用时6分2.71秒。阅读量不小于6.00k的有 7 7 7篇。

  • 001
    标题:让QQ群昵称色变的神奇代码
    (浏览阅读 5.9w )
    地址:https://blog.csdn.net/m0_57158496/article/details/122566500
    点赞:25 收藏:86 评论:17
    摘要:让QQ昵称色变的神奇代码。
    首发:2022-01-18 19:15:08
    最后编辑:2022-01-20 07:56:47

  • 002
    标题:Python列表(list)反序(降序)的7种实现方式
    (浏览阅读 1.1w )
    地址:https://blog.csdn.net/m0_57158496/article/details/128271700
    点赞:8 收藏:35 评论:8
    摘要:Python列表(list)反序(降序)的实现方式:原址反序,list.reverse()、list.sort();遍历,全数组遍历、1/2数组遍历;新生成列表,resersed()、sorted()、负步长切片[::-1]。
    首发:2022-12-11 23:54:15
    最后编辑:2023-03-20 18:13:55

  • 003
    标题:pandas 数据类型之 DataFrame
    (浏览阅读 9.7k )
    地址:https://blog.csdn.net/m0_57158496/article/details/124525814
    点赞:7 收藏:36 
    摘要:pandas 数据类型之 DataFrame_panda dataframe。
    首发:2022-05-01 13:20:17
    最后编辑:2022-05-08 08:46:13

  • 004
    标题:个人信息提取(字符串)
    (浏览阅读 8.2k )
    地址:https://blog.csdn.net/m0_57158496/article/details/124244618
    点赞:2 收藏:15 
    摘要:个人信息提取(字符串)_个人信息提取python。
    首发:2022-04-18 11:07:12
    最后编辑:2022-04-20 13:17:54

  • 005
    标题:Python字符串居中显示
    (浏览阅读 7.6k )
    地址:https://blog.csdn.net/m0_57158496/article/details/122163023
    评论:1

  • 006
    标题:罗马数字转换器|罗马数字生成器
    (浏览阅读 7.5k )
    地址:https://blog.csdn.net/m0_57158496/article/details/122592047
    摘要:罗马数字转换器|生成器。
    首发:2022-01-19 23:26:42
    最后编辑:2022-01-21 18:37:46

  • 007
    标题:回车符、换行符和回车换行符
    (浏览阅读 6.0k )
    地址:https://blog.csdn.net/m0_57158496/article/details/123109488
    点赞:2 收藏:3 
    摘要:回车符、换行符和回车换行符_命令行回车符。
    首发:2022-02-24 13:10:02
    最后编辑:2022-02-25 20:07:40


推荐条件 阅读量突破6.00k
(更多热博,请点击蓝色文字跳转翻阅)

  • 截屏图片
    在这里插入图片描述
      (此文涉及ChatPT,曾被csdn多次下架,前几日又因新发笔记被误杀而落马。躺“未过审”还不如回收站,回收站还不如永久不见。😪值此年底清扫,果断移除。留此截图,以识“曾经”。2023-12-31)



回页首


老齐漫画头像

精品文章:

  • 好文力荐:齐伟书稿 《python 完全自学教程》 Free连载(已完稿并集结成书,还有PDF版本百度网盘永久分享,点击跳转免费🆓下载。)
  • OPP三大特性:封装中的property
  • 通过内置对象理解python'
  • 正则表达式
  • python中“*”的作用
  • Python 完全自学手册
  • 海象运算符
  • Python中的 `!=`与`is not`不同
  • 学习编程的正确方法

来源:老齐教室


◆ Python 入门指南【Python 3.6.3】


好文力荐:

  • 全栈领域优质创作者——[寒佬](还是国内某高校学生)博文“非技术文—关于英语和如何正确的提问”,“英语”和“会提问”是编程学习的两大利器。
  • 【8大编程语言的适用领域】先别着急选语言学编程,先看它们能干嘛
  • 靠谱程序员的好习惯
  • 大佬帅地的优质好文“函数功能、结束条件、函数等价式”三大要素让您认清递归

CSDN实用技巧博文:

  • 8个好用到爆的Python实用技巧
  • python忽略警告
  • Python代码编写规范
  • Python的docstring规范(说明文档的规范写法)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/442869.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt - QMenu

QMenu 1、menu转string输出 //GlobalEnum.h #include <QObject> #include <QMetaEnum> class GlobalEnum : public QObject {Q_OBJECT public:EnumTest();enum Enum_Test{ZhangSan 0,WangWu,};Q_ENUM(Enum_Test) };#define EnumToString(e) \ QMetaEnum::fromTy…

手把手教你如何配置好VS Code的WEB基础开发环境(保姆级)

1. VS Code介绍 微软旗下的多场景开发环境软件&#xff0c;支持JAVA、C、C#、C、WEB、VUE、CSS、HTML、Python等等等 如果你刚刚开始编程或者准备学习WEB&#xff0c;那么我强烈建议你使用这款软件 缺点&#xff1a;&#xff08;针对初学者&#xff09; 需要安装各种各样的插…

数据分析-29-基于pandas的窗口操作和对JSON格式数据的处理

文章目录 1 窗口操作1.1 滑动窗口思想1.2 函数df.rolling2 JSON格式数据2.1 处理简单JSON对象和JSON列表2.1.1 处理简单的JSON结构2.1.2 处理空字段2.1.3 获取部分字段2.2 处理多级json2.2.1 展开所有级别(默认)2.2.2 自定义展开层级2.3 处理嵌套列表JSON3 参考附录1 窗口操作 …

每日学习一个数据结构-图

文章目录 图基础一、图的定义二、图的相关概念三、图的分类四、图的使用场景 和图相关的算法一、图的遍历算法二、最短路径算法三、最小生成树算法四、图匹配算法五、网络流算法 图基础 一、图的定义 在数学中&#xff0c;图是描述于一组对象的结构&#xff0c;其中某些对象对…

YOLOv11模型地址

地址链接 项目Git地址&#xff1a;https://github.com/ultralytics/ultralytics?tabreadme-ov-file

大模型生成PPT大纲优化方案:基于 nVidia NIM 平台的递归结构化生成

大模型生成PPT大纲优化方案&#xff1a;基于 nVidia NIM 平台的递归结构化生成 待解决的问题 生成PPT大纲是一种大模型在办公场景下应用的常见需求。 然而&#xff1a; 目前直接让大模型生成大纲往往是非结构化的&#xff0c;输出格式多样&#xff0c;难以统一和规范&#…

Idea 2024.2.3 找不到Cache Recovery设置

idea找不到官网所说的设置 下面是解决办法 1.找到对应位置 2.增加配置文件内容 idea.is.internaltrue3.重启idea 4.查看结果 解决方案原文

Kubernetes(K8s)的简介

一、Kubernetes的简介 1 应用部署方式演变 在部署应用程序的方式上&#xff0c;主要经历了三个阶段&#xff1a; 传统部署&#xff1a;互联网早期&#xff0c;会直接将应用程序部署在物理机上 优点&#xff1a;简单&#xff0c;不需要其它技术的参与 缺点&#xff1a;不能为应…

MySQL 查询数据

MySQL 数据库使用SQL SELECT语句来查询数据。 你可以通过 mysql> 命令提示窗口中在数据库中查询数据&#xff0c;或者通过PHP脚本来查询数据。 语法 以下为在MySQL数据库中查询数据通用的 SELECT 语法&#xff1a; SELECT column_name,column_name FROM table_name [WHER…

OpenCV高级图形用户界面(5)获取指定滑动条(trackbar)的当前位置函数getTrackbarPos()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 返回滑动条的位置。 该函数返回指定滑动条的当前位置。 cv::getTrackbarPos() 函数用于获取指定滑动条&#xff08;trackbar&#xff09;的当前…

7-3 简单计算器

本题要求你为初学数据结构的小伙伴设计一款简单的利用堆栈执行的计算器。如上图所示&#xff0c;计算器由两个堆栈组成&#xff0c;一个堆栈 S1​ 存放数字&#xff0c;另一个堆栈 S2​ 存放运算符。计算器的最下方有一个等号键&#xff0c;每次按下这个键&#xff0c;计算器就…

GPT系列

GPT&#xff08;Generative Pre-Training&#xff09;&#xff1a; 训练过程分两步&#xff1a;无监督预训练有监督微调 模型结构是decoder-only的12层transformer 1、预训练过程&#xff0c;窗口为k&#xff0c;根据前k-1个token预测第k个token&#xff0c;训练样本包括700…

c++ 计算同一行上的最大点数(Count maximum points on same line)

示例图 给定二维平面上的 N 点作为一对 (x, y) 坐标&#xff0c;我们需要找到位于同一条线上的最大点数。 例子&#xff1a; 输入&#xff1a;points[] {-1, 1}, {0, 0}, {1, 1}, {2, 2}, {3, 3}, {3, 4} 输出&#xff1a;4 那么位于同一条线上的点…

专题十_穷举vs暴搜vs深搜vs回溯vs剪枝_二叉树的深度优先搜索_算法专题详细总结

目录 搜索 vs 深度优先遍历 vs 深度优先搜索 vs 宽度优先遍历 vs 宽度优先搜索 vs 暴搜 1.深度优先遍历 vs 深度优先搜索(dfs) 2.宽度优先遍历 vs 宽度优先搜索(bfs) 2.关系图暴力枚举一遍所有的情况 3.拓展搜索问题全排列 决策树 1. 计算布尔⼆叉树的值&#xff08;medi…

JAVA智能国际商城跨境电商系统小程序源码

智能国际商城跨境电商系统——全球购物&#xff0c;一触即达 &#x1f30d; 开篇&#xff1a;智能科技&#xff0c;重塑跨境购物新体验 在这个全球化的时代&#xff0c;跨境购物已经不再是遥不可及的事情。而“智能国际商城跨境电商系统”正是这样一款将智能科技与跨境电商完…

Badge插件的用法

文章目录 1 概念介绍2 实现方法3 示例代码我们在上一章回中介绍了WebView组件相关的内容,本章回中将介绍如何在图标旁边添加小红点.闲话休提,让我们一起Talk Flutter吧。 1 概念介绍 在实际项目中有时候需要在图标旁边显示小红点,而且小红点内还有数字,比如购物车图标显示…

柯桥外语培训韩语学习考级韩语中TOPIK常用语法表达

-기 위해서는 -는 것이 좋다 为了......&#xff0c;......比较好 -는 것보다는 -는 것이 좋다 比起......&#xff0c;......比较好 -(으)려면 -아/어/야 한다 如果想......的话&#xff0c;得...... -왜냐하면 -기 때문이다 因为...... -그 이유는 -기 때문이다 理由是…

【JAVA面试题】Java和C++主要区别有哪些?各有哪些优缺点?

文章目录 强烈推荐前言区别&#xff1a;1. 语法和编程风格2.内存管理3.平台独立性4.性能5.指针和引用6.多线程7.使用场景 Java 的优缺点优点&#xff1a;缺点&#xff1a; C 的优缺点优点&#xff1a;缺点&#xff1a; 总结专栏集锦 强烈推荐 前些天发现了一个巨牛的人工智能学…

【第三版 系统集成项目管理工程师】第15章 组织保障

持续更新。。。。。。。。。。。。。。。 【第三版】第十五章 组织保障 15.1信息和文档管理15.1.1 信息和文档1.信息系统信息-P5462.信息系统文档-P546 15.1.2 信息(文档)管理规则和方法1.信息(文档)编制规范-P5472.信息(文档)定级保护-P5483.信息(文档)配置管理-P549练习 15.…

DP35 【模板】二维前缀和

文章目录 1.题目描述输入描述&#xff1a;输出描述&#xff1a; 示例1 2.思路3.代码 1.题目 DP35 【模板】二维前缀和 描述 给你一个 n 行 m 列的矩阵 A &#xff0c;下标从1开始。 接下来有 q 次查询&#xff0c;每次查询输入 4 个参数 x1 , y1 , x2 , y2 请输出以 (x1, …