vault backup: 2023-09-05 10:33:28
This commit is contained in:
67
.obsidian/plugins/obsidian-jupyter/obsidian-jupyter.py
vendored
Normal file
67
.obsidian/plugins/obsidian-jupyter/obsidian-jupyter.py
vendored
Normal file
@@ -0,0 +1,67 @@
|
||||
import argparse
|
||||
import sys
|
||||
from jupyter_client import KernelManager
|
||||
import nbformat
|
||||
from nbconvert import HTMLExporter
|
||||
from nbclient import NotebookClient
|
||||
from nbclient.exceptions import CellExecutionError
|
||||
import json
|
||||
import logging
|
||||
|
||||
|
||||
# Parse input arguments.
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('document_id')
|
||||
args = parser.parse_args()
|
||||
|
||||
# Set up a logger that writes to stderr.
|
||||
logging.basicConfig(level='INFO')
|
||||
logger = logging.getLogger('obsidian-jupyter')
|
||||
logger.info('started server for document %s', args.document_id)
|
||||
|
||||
# Create a notebook and kernel.
|
||||
cell = nbformat.v4.new_code_cell()
|
||||
nb = nbformat.v4.new_notebook(cells=[cell])
|
||||
km = KernelManager()
|
||||
client = NotebookClient(nb, km)
|
||||
|
||||
try:
|
||||
# Respond to each request.
|
||||
for request in sys.stdin:
|
||||
# Load the request and generate a response with matching id.
|
||||
logger.info('received request: %s', request)
|
||||
request = json.loads(request)
|
||||
request_body = request['body']
|
||||
response = {
|
||||
'id': request['id'],
|
||||
}
|
||||
# Execute a cell.
|
||||
if request_body['command'] == 'execute':
|
||||
cell['source'] = request_body['source']
|
||||
try:
|
||||
nb = client.execute(nb)
|
||||
except CellExecutionError as ex:
|
||||
logger.info('cell failed to execute: %s', ex)
|
||||
html_exporter = HTMLExporter(template_name='basic')
|
||||
(response_body, resources) = html_exporter.from_notebook_node(nb)
|
||||
elif request_body['command'] == 'restart_kernel':
|
||||
km.restart_kernel()
|
||||
response_body = ''
|
||||
else:
|
||||
logger.error('unrecognised command: %s', request_body['command'])
|
||||
response_body = ''
|
||||
|
||||
# Pass the response back.
|
||||
response['body'] = response_body
|
||||
response = json.dumps(response)
|
||||
sys.stdout.write(response + '\n')
|
||||
logger.info('sent response: %s', response)
|
||||
sys.stdout.flush()
|
||||
sys.stderr.flush()
|
||||
finally:
|
||||
# Clean up the kernel.
|
||||
if km.is_alive:
|
||||
logger.info('shutting down kernel...')
|
||||
km.shutdown_kernel()
|
||||
|
||||
logger.info('exiting...')
|
||||
32
.obsidian/workspace.json
vendored
32
.obsidian/workspace.json
vendored
@@ -4,16 +4,16 @@
|
||||
"type": "split",
|
||||
"children": [
|
||||
{
|
||||
"id": "18520963df8aa056",
|
||||
"id": "9c50b84bb6df2f5e",
|
||||
"type": "tabs",
|
||||
"children": [
|
||||
{
|
||||
"id": "de3f9d04c35ed5ff",
|
||||
"id": "90587f11c8ede650",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "markdown",
|
||||
"state": {
|
||||
"file": "树/树.md",
|
||||
"file": "2.线性表/ex.md",
|
||||
"mode": "source",
|
||||
"backlinks": true,
|
||||
"source": false
|
||||
@@ -86,9 +86,9 @@
|
||||
"state": {
|
||||
"type": "backlink",
|
||||
"state": {
|
||||
"file": "树/树.md",
|
||||
"collapseAll": true,
|
||||
"extraContext": true,
|
||||
"file": "2.线性表/ex.md",
|
||||
"collapseAll": false,
|
||||
"extraContext": false,
|
||||
"sortOrder": "alphabetical",
|
||||
"showSearch": false,
|
||||
"searchQuery": "",
|
||||
@@ -103,7 +103,7 @@
|
||||
"state": {
|
||||
"type": "outgoing-link",
|
||||
"state": {
|
||||
"file": "树/树.md",
|
||||
"file": "2.线性表/ex.md",
|
||||
"linksCollapsed": false,
|
||||
"unlinkedCollapsed": true
|
||||
}
|
||||
@@ -126,7 +126,7 @@
|
||||
"state": {
|
||||
"type": "outline",
|
||||
"state": {
|
||||
"file": "树/树.md"
|
||||
"file": "2.线性表/ex.md"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -159,19 +159,24 @@
|
||||
"templater-obsidian:Templater": false
|
||||
}
|
||||
},
|
||||
"active": "de3f9d04c35ed5ff",
|
||||
"active": "90587f11c8ede650",
|
||||
"lastOpenFiles": [
|
||||
"未命名.canvas",
|
||||
"2.线性表/ex.md",
|
||||
"2.线性表/线性表.md",
|
||||
"1.绪论/ex.md",
|
||||
"树/树.md",
|
||||
"未命名 1",
|
||||
"未命名",
|
||||
"树/pic/Pastedimage20230810154259.png",
|
||||
"4.串/串.md",
|
||||
"树/pic/Pastedimage2230810153842.png",
|
||||
"树/树.md",
|
||||
"树/pic",
|
||||
"树",
|
||||
"3.栈、队列、数组/栈、队列、数组.md",
|
||||
"4.串",
|
||||
"1.绪论/绪论.md",
|
||||
"1.绪论/pic/Pasted image 20230802145127.png",
|
||||
"2.线性表/线性表.md",
|
||||
"3.栈、队列、数组",
|
||||
"2.线性表/pic/image-2023080216367.png",
|
||||
"2.线性表/pic/image-2023080214616.png",
|
||||
@@ -182,9 +187,6 @@
|
||||
"2.线性表/code",
|
||||
"线性表/init.c.md",
|
||||
"2.线性表/code/init.c",
|
||||
"未命名.canvas",
|
||||
"线性表/Drawing 2023-08-02 15.07.11.excalidraw.md",
|
||||
"2.线性表",
|
||||
"1.绪论"
|
||||
"线性表/Drawing 2023-08-02 15.07.11.excalidraw.md"
|
||||
]
|
||||
}
|
||||
29
1.绪论/ex.md
Normal file
29
1.绪论/ex.md
Normal file
@@ -0,0 +1,29 @@
|
||||
1.1.3
|
||||
抽象数据类型
|
||||
树
|
||||
有序表
|
||||
栈
|
||||
数据的逻辑结构独立于存储结构
|
||||
数据关系
|
||||
节点内的存储单元一定连续
|
||||
不一定不相同,二叉树和二叉排列数,
|
||||
线性表链式与顺序存储,插入字符, O(1) O(n)
|
||||
|
||||
1.2.3
|
||||
算法满足5个条件
|
||||
执行时间与 $n^2$ 成正比
|
||||
$log_2 N$
|
||||
3 开方 n
|
||||
$n^2$
|
||||
n(n+1) X
|
||||
n
|
||||
$n log_2 n$
|
||||
mn X
|
||||
n X
|
||||
n X
|
||||
$n^ (1/2)$
|
||||
n
|
||||
|
||||
|
||||
|
||||
|
||||
280
2.线性表/ex.md
Normal file
280
2.线性表/ex.md
Normal file
@@ -0,0 +1,280 @@
|
||||
ls2.1.3 P12
|
||||
|
||||
1. 数据元素
|
||||
2. B
|
||||
3. 只有一个前驱元素
|
||||
|
||||
2.2.3 P16
|
||||
选择
|
||||
|
||||
1. A 密度大
|
||||
2. 线性表的顺序存储结构是随机存取的存储结构
|
||||
3. B 元素的存放顺序
|
||||
4. D
|
||||
5. A
|
||||
6. I O(1) 、II O(1) 、 III O(n) 、IV O(n)
|
||||
7. I \ II
|
||||
8. D n-i+1 XXX n-1
|
||||
9. C 1 n
|
||||
10. C 0<= i <- n-1 XXX B
|
||||
11. D
|
||||
应用 1.找出最小元素,并删除,最后元素补提
|
||||
|
||||
```c
|
||||
bool Del_main(SqList &L,ElemType &value)
|
||||
{
|
||||
|
||||
if(L.length == 0 )
|
||||
return False;
|
||||
|
||||
value = L.data[0];
|
||||
int pos = 0;
|
||||
|
||||
for(int i=1; i < L.length; i++)
|
||||
if{ L.data[i] < value }
|
||||
{
|
||||
value = L.data[i];
|
||||
pos = i;
|
||||
}
|
||||
|
||||
L.data[pos] = L.data[L.length - 1];
|
||||
L.length--;
|
||||
return true;
|
||||
|
||||
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
2.
|
||||
|
||||
空间复杂度为 1, 顺序表 L 的所有元素逆置
|
||||
|
||||
```c
|
||||
void Changefun(Sqlist &L){
|
||||
Eletype temp;
|
||||
for(int i = 0; i< (L.length/2); i++)
|
||||
{
|
||||
temp = L.data[i];
|
||||
L.data[i] = L.data[L.length - i - 1];
|
||||
L.data[L.length-i-1 ] = temp;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
```
|
||||
|
||||
1. L 长度 n ,顺序表
|
||||
|
||||
```
|
||||
viod delX(Sqlist &L, x)
|
||||
{
|
||||
|
||||
int k = 0;
|
||||
for(int i = 0; i<L.length;i++)
|
||||
{
|
||||
if(L.data[i] != x )
|
||||
{
|
||||
L.data[k]= L.data[i];
|
||||
k++;
|
||||
}
|
||||
L.length = k;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
4.
|
||||
|
||||
```c
|
||||
void funtionSet(Sqlist &L,int s ,int t)
|
||||
{
|
||||
if ( L.leagth == 0 || s >= t)
|
||||
return false;
|
||||
// 1. 使用删除法
|
||||
int k = 0;
|
||||
for(int i = 0; i<L.length;i++)
|
||||
{
|
||||
if(L.data[i] < s || L.data[i] > t )
|
||||
{
|
||||
L.data[k] = L.data[i];
|
||||
k++;
|
||||
}
|
||||
L.length = k;
|
||||
}
|
||||
|
||||
// 2. 使用回流
|
||||
int i=0,k=0;
|
||||
which( i < L.length )
|
||||
{
|
||||
if ( L.data[i] < s && L.data[i] > t )
|
||||
k++;
|
||||
else
|
||||
L.data[i-k] = L.data[i];
|
||||
i++;
|
||||
}
|
||||
L.length = L.length - k;
|
||||
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
5.
|
||||
|
||||
```c
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
6.
|
||||
|
||||
```c
|
||||
bool Delet_Same(Seqlist &L)
|
||||
{
|
||||
if ( L.length == 0 )
|
||||
return false;
|
||||
|
||||
int i,j;
|
||||
for ( i = 0,j=1; j<L.length ; j++ )
|
||||
{
|
||||
if ( L.data[i] != L.data[j] )
|
||||
L.data[++i] = L.data[j];
|
||||
}
|
||||
L.length=i+1;
|
||||
return true;
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
7.
|
||||
|
||||
```c
|
||||
bool merge_number(Sqlist A, Sqlist B,Sqlst &C)
|
||||
{
|
||||
if ( A.length + B.length > C.length )
|
||||
return false;
|
||||
int i=0,j=0,k=0;
|
||||
while ( i<A.length && j<B.length )
|
||||
{
|
||||
if (A.data[i] <= B.data[j])
|
||||
C.data[k++] = A.data[i++];
|
||||
else
|
||||
C.data[k++] = B.data[j++];
|
||||
}
|
||||
|
||||
while (i<A.length)
|
||||
C.data[k++] = A.data[i++];
|
||||
while (j<B.length)
|
||||
C.data[k++] = B.data[j++];
|
||||
C.length = k;
|
||||
return true;
|
||||
|
||||
|
||||
}
|
||||
```
|
||||
|
||||
8.
|
||||
|
||||
```c
|
||||
typedef int Datatype;
|
||||
void Reverse(Datatype A[], int left,int right,int arraySize)
|
||||
{
|
||||
if ( left >= right || right >= arraySize )
|
||||
return false;
|
||||
|
||||
int mind = (left + right ) / 2;
|
||||
|
||||
for ( int i = 0 ; i< mind - left ; i++)
|
||||
{
|
||||
Datatype temp = A[left+i];
|
||||
A[Left=i] = A[right-i];
|
||||
A[right-i] = temp;
|
||||
}
|
||||
}
|
||||
|
||||
Reverse(A,0,m+n-1,arraySize);
|
||||
Reverse(A,0,m+n-1,arraySize);
|
||||
Reverse(A,0,m+n-1,arraySize);
|
||||
```
|
||||
|
||||
9.
|
||||
|
||||
```c
|
||||
void SearchExchangeInsert(ElemType A[],ElemType x)
|
||||
{
|
||||
int low=0,high=n-1,mid;
|
||||
while(low <= high)
|
||||
{
|
||||
mid = (low + high)/2;
|
||||
if (A[mid] == x )
|
||||
break;
|
||||
else if ( A[mid] < x )
|
||||
low = mid +1;
|
||||
else
|
||||
high = mid -1;
|
||||
}
|
||||
if (A[mid] ==x && mid != n-1 )
|
||||
{
|
||||
t = A[mid];
|
||||
A[mid] = A[mid+1]
|
||||
A[mid+1] = t;
|
||||
}
|
||||
if (low > high)
|
||||
{
|
||||
for (i = n-1 ; i>high;i--)
|
||||
{
|
||||
A[i+1] = A[i];
|
||||
A[i+x] = x;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
```
|
||||
|
||||
10.
|
||||
|
||||
```c
|
||||
void Reverse(int R[], int from,int to)
|
||||
{
|
||||
int i,tmp;
|
||||
for(i=0;i<(to-from+1)/2;i++)
|
||||
{
|
||||
temp = R[from+i];
|
||||
R[from+i] = R[to-i];
|
||||
R[to-i] = temp;
|
||||
}
|
||||
}
|
||||
void Converse(int R[], int n ,int p )
|
||||
{
|
||||
Reverse(R,0,p-1);
|
||||
Reverse(R,p,n-1);
|
||||
Recerse(R,0,n-1);
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
时间 O(n) 空间 O(1)
|
||||
|
||||
11.
|
||||
|
||||
```c
|
||||
|
||||
```
|
||||
|
||||
2.3.7
|
||||
|
||||
1. B
|
||||
2. B
|
||||
3. C
|
||||
4. C x D
|
||||
5. A
|
||||
6. C
|
||||
7. B x D
|
||||
8. A x C
|
||||
9. C
|
||||
10.
|
||||
Reference in New Issue
Block a user