分类 默认分类 下的文章

简单的复制**文库的Word文档内容的方法分享

  1. 在浏览器中打开需要复制文本的文档,按F12或者
  2. Edge/Firefox/Chrome:右键选择检查(元素)
  3. Chrome: Ctrl+Shift+I
  4. 选择控制台console
  5. 将以下的代码复制到控制台 >后面,
  6. 复制完后点击回车,双击显示的文本内容即可完成复制。

此方法只能复制文本内容,无法保留文档格式。

const page = parseInt(document.querySelector('.goto-page > span:nth-child(3)').textContent);
let d = ''; 
for(let i = 1; i<=page; i++) {
    d = d + document.querySelector('#pageNo-' + i).textContent;
}
console.log(d);

好奇如何实现的复制?以下是代码简单解析:

document.querySelector('.goto-page > span:nth-child(3)').textContent 取得文档总页数(字符串);
使用parseInt取得文档页数(整形);
document.querySelector('#pageNo-' + i).textContent取得第i页中的文本,在循环中将文本连接起来;
最后使用console.log打印连接起来的文本。

不懂程序代码,但是想要进一步了解相关实现和原理?可以参阅以下的免费内容继续学习:

Web教程-Web入门
querySelector
Selector
parseInt
for 语句
console.log

自考02331数据结构大纲

自考02331数据结构大纲.pdf文件下载:自考02331数据结构大纲.pdf

第1章 概论

1.数据结构的作用、意义、基本概念和术语,要求达到"识记"层次。

1.1数据结构所研究的内容;在计算机科学中的作用和意义;Wirth关于程序的定义公式。

1.2数据、数据元素、数据对象、数据项、数据结构等概念的定义。

1.3数据的逻辑结构、存储结构及数据运算的含义及其相互关系。

1.4数据结构的两大类逻辑结构和四种常用的存储表示方法。

2.算法的描述和分析,要求达到"领会"层次。

2.1算法、算法的时间复杂度和空间复杂度等概念。

2.2一个完整算法需要满足的五个准则;算法与程序的关系。

2.3算法的分析方法;对于一般算法能分析其时间复杂度。

第2章 线性表

1.线性表的逻辑结构,要求达到"识记"层次。

1.1线性表的逻辑定义和性质。

1.2线性表上定义的基本运算。

2.线性表的顺序存储结构和基本运算,要求达到"领会"层次。

2.1顺序表的定义及特点。

2.2顺序表上进行插入和删除操作的实现及时间性能分析。

2.3理解求顺序表逆置和极值及定位两种算法的实现过程。

3.线性表链式存储结构的不同形式及基本运算,要求达到"领会"层次。

3.1单链表、循环链表、双向链表的定义及特点。

3.2单链表上实现建表、查找、插入和删除等基本算法,并分析其时间复杂度。

3.3用尾指针表示单循环链表的意义。

3.4双向链表上的插入和删除操作。

4.利用顺序表和链表设计算法解决应用问题,要求达到"综合应用"层次。

5.顺序表和链表的比较,要求达到"领会"层次。

第3章 栈和队列

1.栈的逻辑结构、存储结构及相关算法,要求达到"简单应用"层次。

1.1栈的逻辑定义、特点及运算。

1.2顺序栈和链栈上实现进栈、退栈等基本运算。

1.3顺序栈的上溢和下溢问题,如何防止溢出。

2.队列的逻辑结构、存储结构及相关算法,要求达到"简单应用"层次。

2.1 队列的逻辑定义、特点及运算。

2.2 顺序循环队列的表述;队空和队满的判定;顺序循环队列上入队、出队等基本算法。

2.3 链队列的表述;带头结点和不带头结点两种情况下链队列上的基本算法。

3.栈和队列的应用,要求达到"综合应用"层次。

3.1 圆括号匹配的检验问题。

3.2 字符串回文的判断问题。

3.3 数制转换。

3.4 利用栈实现程序的递归。

3.5 表达式求值。

第4章 多维数组和广义表

1.多维数组及其运算,要求达到"领会"层次。

1.1 多维数组的逻辑结构表达及特征。

1.2 多维数组的顺序存储结构及地址计算方法。

1.3 多维数组的常用运算。

2.矩阵的压缩存储,要求达到"简单应用"层次。

2.1 特殊矩阵的类型和性质;稀疏矩阵的概念。

2.2 用一维数组压缩存储特殊矩阵时,存储地址的计算。

2.3 稀疏矩阵的三元组表表示方法及常用算法。

3.广义表,要求达到"领会"层次。

3.1 广义表的定义及特性。

3.2 求广义表的深度、表长、表头和表尾运算。

第5章 树和二叉树

1.树的概念,要求达到"识记"层次。

1.1 树的定义和表示方法。

1.2 树的常用术语及其含义。

2.二叉树的概念,要求达到"领会"层次。

2.1 二叉树的递归定义。

2.2 二叉树的性质及其证明,两种特殊形式的二叉树。

2.3 二叉树的顺序存储和链式存储结构。

3.二叉树的运算,要求达到"综合应用"层次。

3.1 二叉链表的生成。

3.2 二叉树的递归遍历算法和非递归遍历算法。

3.3 二叉树的应用。

4.线索二叉树,要求达到"简单应用"层次。

4.1 二叉树线索化的含义、线索二叉树结点的表示方法。

4.2 对给定二叉树进行线索化的思想和实现。

4.3 二叉线索链表上的运算:查找某结点的后继结点和线索二叉树的遍历。

5.树和森林,要求达到"领会"层次。

5.1 树的三种存储结构表示方法。

5.2 树、森林和二叉树之间的相互转换。

5.3 树和森林的遍历。

6.哈夫曼树及其应用,要求达到"简单应用"层次。

6.1 最优二叉树的概念,哈夫曼算法的思想。

6.2 哈夫曼算法的实现。

6.3 编码、前缀编码、哈夫曼编码的概念;根据最优二叉树构造对应的哈夫曼编码。

第6章 图

1.图的概念,要求达到"识记"层次。

1.1 图的定义和表示方法。

1.2 图的常用术语及其含义。

2.图的存储结构,要求达到"领会"层次。

2.1 图的邻接矩阵表示法。

2.2 图的邻接表表示法。

3.图的遍历算法,要求达到"简单应用"层次。

3.1 深度优先搜索遍历的算法思想,以邻接矩阵和邻接表分表作为图的存储结构,其深度优先搜索遍历的算法实现及其时间复杂度。

3.2 广度优先搜索遍历的算法思想,以邻接矩阵和邻接表分别作为图的存储结构,其广度优先搜索遍历的算法实现及其时间复杂度。

3.3 深度优先搜索遍历算法中递归的应用和广度优先搜索遍历算法中队列的应用。

3.4 两种遍历算法的简单应用。

4.图的生成树和最小生成树,要求达到"领会"层次。

4.1 生成树的概念。

4.2 对遍历给定的图,求其深度优先和广度优先生成树。

4.3 最小生成树的概念及其性质。

4.4 Prim算法和Kruskal算法的基本思想及其实现。

5.最短路径,要求达到"领会"层次。

5.1 最短路径问题的描述。

5.2 Dijkstra算法的基本思想及其实现过程。

6.拓扑排序,要求达到"简单应用"层次。

6.1 拓扑排序的实际意义。

6.2 对有向图构造其顶点的拓扑序列,判断有向图中是否有环。

6.3 拓扑排序的基本思想及其算法实现。

第7章 排序

1.排序的基本概念,要求达到"识记"层次。

1.1 排序的定义及意义。

1.2 排序的分类。

1.3 稳定的含义。

1.4 评价排序算法的标准。

2.插入排序,要求达到"综合应用"层次。

2.1 直接插入排序算法的基本思想及算法实现。

2.2 直接插入排序算法中哨兵的作用。

2.3 直接插入排序算法在最好、最好及平均情况下的时间复杂度。

2.4 希尔排序算法的基本思想及算法实现。

3.交换排序,要求达到"简单应用"层次。

3.1 冒泡排序的基本思想及算法实现;冒泡排序算法的时间性能分析及其稳定性。

3.2 快速排序的基本思想及算法实现,一趟快速排序的具体操作。

3.3 快速排序的时间性能、空间性能及其稳定性。

4.选择排序,要求达到"简单应用"层次。

4.1 直接选择排序算法的算法实现及时间性能分析。

4.2 堆排序的原理及相关概念。

4.3 用筛选法构造堆。

4.4 堆排序的算法实现及性能分析。

5.归并排序的基本思想及其算法实现,要求达到"综合应用"层次。

6.分配排序,要求达到"领会"层次。

6.1 分配排序的特点。

6.2 箱排序和基数排序的基本思想、算法实现和时间性能分析。

7.各种内部排序算法的分析比较,要求达到"简单应用"层次。

7.1 在分别考虑时间复杂度、稳定性、空间复杂度的情况下,对各种内部排序算法进行比较。

7.2 选择排序算法时需要考虑的因素及如何根据实际问题选择合适的排序算法。

第8章 查找

1.查找的基本概念,要求达到"识记"层次。

1.1 查找的重要意义,内查找和外查找的含义。

1.2 平均查找长度的计算公式。

2.顺序表的查找,要求达到"简单应用"层次。

2.1 顺序查找、二分查找和索引顺序查找的基本思想及算法实现。

2.2 二分查找算法需要的条件,二叉判定树的含义。

2.3 索引顺序查找算法需要条件。

2.4 三种顺序表查找算法的性能分析及比较。

3.树表的查找,要求达到"简单应用"层次。

3.1 二叉排序的性质及定义,二叉排序树的建立、插入、查找和删除操作的实现。

3.2 B树的定义和性质,在B树上进行插入、删除和查找操作的实现。

3.3 B+树的基本概念。

4.散列表查找,要求达到"领会"层次。

4.1 散列表和散列函数的概念。

4.2 散列函数的作用和常用构造方法。

4.3 冲突的含义,解决冲突的两种方法。

4.4 散列表查找的算法及其性能分析比较。

Windows 10 安装 PostgreSQL 13 过程中报错 PostgreSQL: The database cluster initialization failed。
安装完成后尝试使用以下命令启动 PostgreSQL:

pg_ctl.exe -D "D:\Program Files\PostgreSQL\13\data" start

出现以下的错误提示:

pg_ctl: 目录 "D:/Program Files/PostgreSQL/13/data"不是一个数据库集群目录

同时在 Windows 的系统服务中也无法找到 PostgreSQL 的服务 postgresql-x64-13

一番搜索后发现是安装过程中的用户权限不足导致,可以尝试使用以下步骤解决(需以管理员的权限运行命令行):

  1. 运行 PostgreSQL 安装目录下的 uninstall-postgresql.exe 卸载 PostgreSQL:
  2. 如果 postgres 用户已存在,先删除该用户:

    net user postgres /delete
  3. 创建 postgres 用户并记住设置的用户密码:

    net user /add postgres <password>
  4. postgres 用户加入到 Administrators 用户组:

    net localgroup administrators postgres /add
  5. postgres 用户加入到 Power Users 用户组:

    net localgroup "power users" postgres /add
  6. 使用 postgres 用户启用一个新的命令行窗口:

    runas /user:postgres cmd.exe
  7. 在新的命令行窗口中运行安装程序(先使用cd命令进入到安装程序postgresql-13.4-1-windows-x64.exe所在的目录再运行以下命令):

    .\postgresql-13.4-1-windows-x64.exe
  8. 安装完成后,从Administrators用户组中删除postgres用户:

    net localgroup administrators postgres /delete
  9. 禁用postgres用户:
    打开计算机管理,选择本地用户和组中的用户,找到用户postgres,右键该用户选择属性打开属性面板,勾选面板中的账户已禁用(B)然后点击确定

重新安装成功后,可以通过安装目录下 \PostgreSQL\13\pgAdmin 4\bin\pgAdmin4.exe的pgAdmin客户端和安装时设置的密码来连接postgresql数据库。

PostgreSQL 13 安装文件 postgresql-13.4-1-windows-x64.exe 下载链接: https://get.enterprisedb.com/postgresql/postgresql-13.4-1-windows-x64.exe

参考内容来源:https://dba.stackexchange.com/questions/10241/postgresql-the-database-cluster-initialization-failed