- 博客(48)
- 收藏
- 关注
原创 python实现二叉树层序遍历
import queueclass Node: def __init__(self, key, value): self.right = None self.left = None self.key = key self.value = valueclass Tree: def __init__(self): self.root = None self.n = 0 sup
2020-10-16 21:59:15 214
原创 python实现有序符号表
class Node: def __init__(self, k=None, v=None): self.k = k self.v = v self.n = Noneclass OrderSymbolTable: def __init__(self): self.N = 0 self.head = Node() self.iter = self.head super(.
2020-10-13 11:57:21 157
原创 逆波兰表达式求值--python
class Node: def __init__(self, v): self.v = v self.n = Noneclass Stack: def __init__(self): super(Stack, self).__init__() self.count = 0 self.head = Node(None) def add(self, node): if se
2020-10-12 13:46:16 227
原创 循环链表(约瑟夫问题)--python实现
class Node: def __init__(self, value=None, next_addr=None): self._value = value self._next_addr = next_addr @property def next_addr(self): return self._next_addr @next_addr.setter def next_addr(self, addr):
2020-10-11 10:13:10 628
原创 快慢指针找出环路入口-python实现
class Node: def __init__(self, value=None, next_addr=None): self._value = value self._next_addr = next_addr @property def next_addr(self): return self._next_addr @next_addr.setter def next_addr(self, addr):
2020-10-10 15:51:11 135
原创 快慢指针判断链表是否有环问题-python实现
class Node: def __init__(self, value=None, next_addr=None): self._value = value self._next_addr = next_addr @property def next_addr(self): return self._next_addr @next_addr.setter def next_addr(self, addr):
2020-10-10 15:04:27 207
原创 python实现快慢指针查找中间值
class Node: def __init__(self, value=None, next_addr=None): self._value = value self._next_addr = next_addr @property def next_addr(self): return self._next_addr @next_addr.setter def next_addr(self, addr):
2020-10-10 13:14:42 245
原创 python实现归并排序
class Merge: def __init__(self): super(Merge, self).__init__() @staticmethod def sort(a): Merge._grouping(a, 0, len(a) - 1) @staticmethod def _grouping(a, start, end): # print(end, start) if end <= s
2020-10-06 16:59:31 100
原创 python实现希尔排序
class Shell: def __init__(self): super(Shell, self).__init__() @staticmethod def sort(a: list): h = 1 while h < int(len(a) / 2): h = int(2 * h + 1) while h >= 1: for i in range(h,
2020-10-06 14:44:16 54
原创 C++实现顺序表
```cpp#include<iostream>#include <stdlib.h>using namespace std;#define OVERFLOW -2#define FALSE 0#define TRUE 1#define MAXSIZE 10#define OK 1// 线性表 typedef struct List{ float *elem; // 此处数据类型可自己定义,可用结构体等 *num或num[]都可 int len;}Li.
2022-03-16 11:00:50 1947
原创 C++实现递归逆序输出
#include<iostream>#include<math.h>using namespace std;void func(int n, int d){ int temp = 1; for(int i=1;i<d;i++){ temp = temp *10; } if(d>1){ if(n!=0){ func(n%temp, d-1); cout << n/temp; }else { func(n, d-1);
2022-03-16 11:00:11 3078
原创 C++ 实现单链表
#include#include <stdlib.h>using namespace std;#define OVERFLOW -2#define FALSE 0#define TRUE 1#define MAXSIZE 10#define OK 1#define ERROR -1// 单链表结点typedef struct Node{Node *next; // 头结点,分两种一种有头节点,一种无头结点(直接指向首元结点)float date; // 此处数据类型可自己
2022-03-16 10:57:45 2106
原创 两个一维数组对应元素相加【C】
```c#include <stdio.h>int main(){ int a[10]={456, 324, 346, 5, 22234, 9234, 6709, 588, 555, 999}; int b[10]={456, 324, 346, 5, 22234, 9234, 6709, 588, 555, 999}; for(int i=0;i<=10-i;i++){ a[i] = a[i]+b[i]; if(i==10-i)break; a[10-i].
2021-12-06 15:45:52 4335
原创 python实现最小优先队列
class Node: def __init__(self, value, lv): super(Node, self).__init__() self.lv = lv self.value = valueclass MinPreQueue: def __init__(self): super(MinPreQueue, self).__init__() self.item = [Node(None, N
2020-10-19 08:47:14 387
原创 python实现最大优先队列
# 优先队列是基于堆实现的class Node: def __init__(self, value, lv): super(Node, self).__init__() self.lv = lv self.value = valueclass PreQueue: def __init__(self): super(PreQueue, self).__init__() self.item = [Nod
2020-10-19 08:46:29 285
原创 python堆的实现以及堆的排序
class Heap: def __init__(self, n): self.item = [None for i in range(0, n + 1)] self.N = 0 self.MAX = n def _compare(self, i, j): return self.item[i] < self.item[j] def _exch(self, i, j): self.item[i
2020-10-19 08:45:13 194 1
原创 二叉树折纸问题
import queueclass Node: def __init__(self, value): self.right = None self.left = None # self.key = key self.value = valueclass Tree: def __init__(self): self.root = None self.n = 0 super
2020-10-18 10:51:35 158
原创 二叉树最大深度
import queueclass Node: def __init__(self, key, value): self.right = None self.left = None self.key = key self.value = valueclass Tree: def __init__(self): self.root = None self.n = 0 sup
2020-10-17 16:30:08 84
原创 python实现二叉树后序遍历
import queueclass Node: def __init__(self, key, value): self.right = None self.left = None self.key = key self.value = valueclass Tree: def __init__(self): self.root = None self.n = 0 su.
2020-10-16 22:13:04 335
原创 python实现二叉树中序遍历
import queueclass Node: def __init__(self, key, value): self.right = None self.left = None self.key = key self.value = valueclass Tree: def __init__(self): self.root = None self.n = 0 sup
2020-10-16 22:11:31 510
原创 python实现二叉树前序遍历
import queueclass Node: def __init__(self, key, value): self.right = None self.left = None self.key = key self.value = valueclass Tree: def __init__(self): self.root = None self.n = 0 sup
2020-10-16 22:04:43 365
原创 python实现二叉树
class Node: def __init__(self, key, value): self.right = None self.left = None self.key = key self.value = valueclass Tree: def __init__(self): self.root = None self.n = 0 super(Tree,
2020-10-15 00:35:14 212
原创 符号表的实现--python
class Node: def __init__(self, k=None, v=None): self.k = k self.v = v self.n = Noneclass SymbolTable: def __init__(self): self.N = 0 self.head = Node() self.iter = self.head super(SymbolT
2020-10-12 16:20:24 657
原创 python实现单链表反转
class Link:def __init__(self): self.n = 0 self.fist_node = Node() super(Link, self).__init__()def isEmply(self): return self.n == 0def clear(self): self.n = 0 self.fist_node = Node()def add(self, node): item = self.fist_n
2020-10-10 10:37:46 263 2
原创 python实现双向链表
class TwoWayLink: def __init__(self): self.n = 0 self.fist_node = Node() self.last_node = self.fist_node super(TwoWayLink, self).__init__() def isEmply(self): return self.n == 0 def clear(self):
2020-10-09 17:50:45 107
原创 python实现插入排序
# 排序原理# 1、 将所有元素分组, 已排序和未排序的# 2、 遍历未排序的数组,并倒序遍历已排序的数组进行比较,如果比已排序的小,就插入class Insert: def __init__(self): super(Insert, self).__init__() @staticmethod def sort(a): # 顺序遍历未排序的数组 for i in range(1, len(a)):
2020-10-07 14:55:35 120
原创 Python实现快速排序
class Quick: def __init__(self): super(Quick, self).__init__() @staticmethod def sort(a): Quick.quick(a, 0, len(a)-1) @staticmethod def quick(a, start, end): if start >= end: return pa.
2020-10-07 11:10:06 85
原创 队列的链表方式实现--python
队列的链表方式实现–pythonclass SizeExcetion(Exception): def __init__(self): super(SizeExcetion, self).__init__() def __str__(self): print("queue is empty")class Node: def __init__(self, item=None): self.item = item
2020-09-30 00:43:10 179
原创 栈的链表方式实现--python
栈的链表方式实现–pythonclass SizeExcetion(Exception): def __init__(self): super(SizeExcetion, self).__init__() def __str__(self): print("Stack is empty")class Node: def __init__(self, item): self.item = item self
2020-09-29 13:47:55 246
原创 Django——限制用户不能同时在多个浏览器进行登录
1、在对应的user表中添加一个字段(sid)用来存放sessionid,建议用缓存的方式存放,这里因为没有配置redis数据库所以直接用mysql2、用户登录视图类# 比较懒,所以就全部复制进来了,没有挑出来from django.shortcuts import render,redirect,reversefrom django.views import Viewfrom user.models import Userfrom django.contrib.auth import auth
2020-05-09 16:31:16 2319
原创 Django——前端验证码刷新
1、通过ajax的方式<script src="{%static "js/jquery-3.3.1.min.js" %}"></script><script> // 点击验证码后调用这个函数 <img src="/user/verify_code" οnclick="captcha(this)" /> function captcha(ths) { // 请求/user/verify_code 验证码函数的url路径 v
2020-05-09 13:40:29 496
原创 Django——视图类的登录验证
1.使用装饰器的方式# 导入login_required 方法from django.contrib.auth.decorators import login_required # 给需要进行登录验证的视图函数进行装饰@login_required def verify_code(request): pass2、给类视图添加登录验证——urls中添加from django.co...
2020-05-08 12:57:55 736
原创 Django框架----用户登录视图
from django.shortcuts import render,redirect,reversefrom django.views import Viewfrom user.models import Userfrom django.contrib.auth import authenticate, loginclass LoginView(View): def get(...
2020-05-06 20:46:16 493
原创 Django中用itsdangerous模块加密
1、安装itsdangerous模块pip install itsdangerous2、在视图类中导入itsdangerous模块和异常处理from itsdangerous import TimedJSONWebSignatureSerializer as Serializerfrom itsdangerous import SignatureExpired # 异常3、创建Tim...
2020-05-06 16:59:33 247
原创 使用Django自带的用户管理模型
1、在models.py 中导入from django.contrib.auth.models import AbstractUser2、然后创建一个用户模型类,继承AbstractUserclass User(AbstractUser): class Meta: db_table = 'db_user' verbose_name = '用户' ...
2020-05-06 13:01:35 458
原创 Django中全文检索更改分词方式为jieba
安装jiebapip install jieba找到下面的目录xx/xx/site-packages/haystack/backends/在这个目录下创建ChineseAnalyzer.py文件vim ChineseAnalyzer.py将接下来的代码添加到ChineseAnalyzer.py文件中import jiebafrom whoosh.analysis import ...
2020-04-28 20:11:18 231
原创 Django中全文检索的使用
配置全文检索和搜索引擎,以及生成索引文件https://blog.csdn.net/weixin_44834666/article/details/1058089571)配置url——在项目中的urls.py文件的urlpatterns中添加path('search/', include('haystack.urls')), # 全文检索的url,到templates目录下的search文...
2020-04-28 15:37:08 211
原创 Django中通过全文检索框架生成索引文件
全文检索框架和搜索引擎的安装与配置:https://blog.csdn.net/weixin_44834666/article/details/1058085741) 在需要创建索引的模型类的目录下创建一个search_indexes.py文件,文件名固定2) 在search_index.py文件添加下面代码# 定义索引类from haystack import indexes, inp...
2020-04-28 12:14:23 379
原创 Django——全文检索框架haystack与搜索引擎whoosh的安装与配置
1)首先安装两个python包pip install django-haystackpip install whoosh2)在Django项目下setting.py的INSTALLED_APPS中注册全文检索框架INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.con...
2020-04-28 10:58:06 259
原创 Django中的Paginator类
通过Django中的Paginator类对结果集进行分页首先导入Paginator类# 导入Paginatorfrom django.core.paginator import Paginator用Paginator类将结果集进行分页# 对数据进行分页 Paginator(query, i) query:列表或结果集, i: 每页显示的数据是多少# 创建一个Paginator实例对象...
2020-04-27 18:17:49 1340
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人